js对象与json字符串的互转

js对象与json字符串的互转今天在面试的时候 面试官问到 js 对象与 json 字符串的互转问题 由于自己平时在用的时候没有在意 而且在工作中由于用的较少 没有答上来 所以今天特地查查资料复习一下 巩固一下这方面的知识 1 js 对象转换成 json 字符串在与后端进行交互时 有时需要把 js 对象转换成 json 字符串格式 这时我们需要去引用一下 json2 js 这个文件 然后调用 JSON stringify 方法

今天在面试的时候,面试官问到js对象与json字符串的互转问题,由于自己平时在用的时候没有在意,而且在工作中由于用的较少,没有答上来,所以今天特地查查资料复习一下, 巩固一下这方面的知识。

1、js对象转换成json字符串

2、json字符串转换成js对象

在工作中在ajax获取后端数据时,获取到的是json格式,有时就需要我们转换成js对象格式。在这里我们使用jQuery的一个$.parseJSON()方法将JSON格式的数据转换成js对象格式。例如:

var jsonData = $.getJSON(); var data = $.parseJSON(jsonData);

当然,还可以使用JSON.parse()方法,方法同上,但是有的浏览器对JSON.parse()的支持不是很理想,所以在使用时尽量使用 .parseJSON() .parseJSON()方法在浏览器支持时会返回执行JSON.parse()方法的结果,否则会返回类似执行eval()方法的结果,具体参考jQuery1.9.1得出:

parseJSON: function( data ) { // Attempt to parse using the native JSON parser first  if ( window.JSON && window.JSON.parse ) { return window.JSON.parse( data ); } if ( data === null ) { return data; } if ( typeof data === "string" ) { // Make sure leading/trailing whitespace is removed (IE can't handle it)  data = jQuery.trim( data ); if ( data ) { // Make sure the incoming data is actual JSON  // Logic borrowed from http://json.org/json2.js  if ( rvalidchars.test( data.replace( rvalidescape, "@" ) .replace( rvalidtokens, "]" ) .replace( rvalidbraces, "")) ) { return ( new Function( "return " + data ) )(); } } } jQuery.error( "Invalid JSON: " + data ); },

这样就完成了js对象与JSON字符串的互转了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221674.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:32
下一篇 2026年3月17日 下午5:33


相关推荐

  • 简单LMDB用法_法语简单过去时用法

    简单LMDB用法_法语简单过去时用法装载请注明出处

    2026年4月18日
    7
  • Python解答蓝桥杯省赛真题之从入门到真题

    Python解答蓝桥杯省赛真题之从入门到真题搜了很多历年蓝桥杯真题解答 大多都是 Java C C 这些语言编写的代码解析 Python 解析的几乎 甚至可以说没有 而当下 Python 又这么火热 蓝桥杯也出了 Python 组 所以打算写一个 Python 解答蓝桥杯真题的博客 供大家参考 也在这过程中和大家一起交流

    2026年3月18日
    3
  • SIGTERM与SIGKILL

    SIGTERM与SIGKILLinclude lt iostream gt include lt signal h gt usingnamespa voidfunc inta cout lt lt ctrlc lt lt endl voidfunc2 inta cout lt lt kill lt lt endl

    2026年3月16日
    1
  • varchar2 类型「建议收藏」

    varchar2 类型「建议收藏」1、varchar2在数据库表中的最大长度是4000bytesorcharacter,在oracleplsqlvarchar2最大支持长度为32767个字节SQL>declare 2       v_varvarchar2(32767); 3     begin 4       null; 5     end; 6     /

    2022年6月24日
    53
  • 数据结构完全二叉树性质

    数据结构完全二叉树性质完全二叉树若二叉树左子树高度-右子树高度小于等于1且大于等于0则称该二叉树为完全二叉树。二叉树一般性质:性质1:二叉树第i层上的结点数目最多为2i−1(i≥1)2^{i-1}(i\geq1)2i−1(i≥1)性质2:深度为k的二叉树至多有2k−1(k≥1)2^{k-1}(k\geq1)2k−1(k≥1)个结点性质3:包含n个结点的二叉树的高度至少为log⁡2n+1\log_2n+1log2​n+1性质4:在任意一棵二叉树中,若叶子结点的个数为n0n_0n0​,度为2的结点数为n2n_2n

    2022年5月31日
    58
  • 12306站点及车次信息「建议收藏」

    12306站点及车次信息「建议收藏」仅供学习交流,勿非法使用一、获取全国所有车站信息直接查询12306:https://kyfw.12306.cn/otn/czxx/init本来想用selenium自动化获取页面元素得到车站信息,结果直接F12在network中找到了车站信息,而且没有加密。再用python处理一下,直接省事不少。利用百度地图API,可以得到详细的地理位置及经纬度,再写入EXCEL表https://api.map.baidu.com/place/v2/search?query=”+<车站名称>

    2025年12月12日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号