【问题标题】:Serialize javascript object to json and back将javascript对象序列化为json并返回
【发布时间】:2012-02-15 11:50:31
【问题描述】:

我正在使用 jQuery post 方法将一些数据发送到服务器。我不想自己构建 JSON 字符串,而是简单地使用 JavaScript 对象。当我得到返回字符串(JSON 格式)时,我想自动构造一个相应的 JavaScript 对象。

这可能吗?

【问题讨论】:

    标签: javascript jquery json http-post


    【解决方案1】:

    JSON2 documentation 中结帐JSON.stringify()JSON.parse()

    例子:

    myData = JSON.parse(text); // from json string to js object
    
    var myJSONText = JSON.stringify(myObject, replacer); // js object to json string
    

    【讨论】:

      【解决方案2】:

      是的。

      如果 JSON 对象可用,则可以使用:

      var aString = JSON.stringify(anObject);
      

      将对象转换为 JSON 字符串。

      你也可以将字符串转换成对象

      var obj = JSON.parse(aString)
      

      为确保 JSON 可用,您可以包含此文件 https://github.com/douglascrockford/JSON-js

      【讨论】:

        【解决方案3】:

        您应该使用 Douglas Crockford 的 JSON2 library

        这样,你可以:

        var jsonString = JSON.stringify(obj);
        

        var Obj = JSON.parse(jsonString);
        

        【讨论】:

        • 你可以在现代浏览器中做到这一点。 JSON2 是一个 polyfill(尽管值得使用)
        【解决方案4】:

        如果您使用jQuery.getJSON,您不必关心字符串化和解析 json,jquery 会为您完成。

        【讨论】:

        • 好消息,确实。如果您使用带有“json”作为数据类型的 $.ajax,则相同。
        • @CronosS,是的。 getJSON 只是 $.ajax 的简写,数据类型为“json”。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-23
        • 2016-02-09
        • 1970-01-01
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多