【问题标题】:Convert Object to JSON string将对象转换为 JSON 字符串
【发布时间】:2011-04-23 16:29:40
【问题描述】:

jQuery.parseJSON('{"name":"John"}') 将字符串表示形式转换为对象 但我想要相反。对象将被转换为 JSON 字符串 我有一个链接http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html 但它需要有json2.js jQuery 有一个native 方法来做到这一点?

【问题讨论】:

标签: jquery json


【解决方案1】:

jQuery 只在调用本机浏览器方法window.JSON.parse() 之前进行一些正则表达式检查。如果不可用,它会使用eval() 或更确切地说是new Function() 创建一个Javascript 对象。

JSON.parse() 的反面是JSON.stringify(),它将 Javascript 对象序列化为字符串。 jQuery没有自己的功能,你必须使用浏览器内置版本或json2.js from http://www.json.org

JSON.stringify() 在所有主流浏览器中都可用,但要与旧版浏览器兼容,您仍然需要回退。

【讨论】:

  • 这可能会有所帮助:var theObject = (typeof data == "string") ? jQuery.parseJSON(data) : data;
  • @tekretic:我希望你在拖钓。 Chrome 从第一天开始就实现了JSON 主机对象。
  • @jAndy:哇哦,抱歉。不是拖钓,而是哦,错了。结果原生 JSON 支持是 added to WebKit in mid 2009,从 Chrome 3.0 开始就支持它。我之前的完全不准确的评论是基于this outdated question 的一半以及我目前正在研究的CMS,它实际上用自己的库替换了window.JSON,这意味着JSON.stringify() 没有定义。在所有方面都相当失败。
  • @jAndy:别把我弄糊涂了; : JSON.stringify 'serialises' 一个对象,请说它只是一个错误
【解决方案2】:

Object.toSource() 也可用于调试目的,您希望在其中显示对象及其属性以进行调试。这是一个通用的 Javascript(不是 jQuery)函数,但它只适用于“现代”浏览器。

【讨论】:

    【解决方案3】:

    将 JavaScript 对象转换为 json 数据

    $("form").submit(function(event){
      event.preventDefault();
      var formData = $("form").serializeArray(); // Create array of object
      var jsonConvertedData = JSON.stringify(formData);  // Convert to json
      consol.log(jsonConvertedData);
    });
    

    您可以使用 http://jsonlint.com 验证 json 数据

    【讨论】:

      【解决方案4】:

      您可以使用优秀的 jquery-Json 插件:

      http://code.google.com/p/jquery-json/

      使与 Json 对象相互转换变得容易。

      【讨论】:

      • 请推荐 SPL 方法而不是附加逻辑库。
      • SPL = 标准 PHP 库。在这种情况下猜测是 SJL(标准 javascript 库)。
      • 问题是关于 jQuery 和 Javascript。它与 PHP、PHP 库或 SPL 无关。
      • 标准库是标准库;语言无关。我的观点是,最好推荐一个解决方案来教授语言而不是“使用这个插件”综合症。
      • 没错,为什么要重新发明轮子...使用语言的标准功能而不是“插件”,但我离题了。
      猜你喜欢
      • 2019-08-27
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      • 2012-06-14
      • 2012-02-20
      • 2015-01-03
      • 1970-01-01
      相关资源
      最近更新 更多