【问题标题】:JavaScript parse JSON [duplicate]JavaScript 解析 JSON [重复]
【发布时间】:2012-04-10 07:23:05
【问题描述】:

可能重复:
How to parse JSON in JavaScript

我有这个JSON 字符串:

[{"title": "Title1"}, {"title": "Title2"}]

我如何解析它,以便我可以得到每个标题?

【问题讨论】:

    标签: javascript json


    【解决方案1】:
    var string = '[{"title":"Title1"},{"title":"Title2"}]';
    
    var array = JSON.parse(string);
    array.forEach(function(object) {
      console.log(object.title);
    });
    

    注意JSON.parse isn't available in all browsers; use JSON 3 必要时。

    当然,ES5 Array#forEach 也是如此。这只是一个例子。

    如果您使用 jQuery,则可以使用 $.each 来迭代数组。 jQuery 也有一个jQuery.parseJSON 方法。

    【讨论】:

      【解决方案2】:

      如果您使用的是 jQuery,请执行以下操作:

      var myArray = jQuery.parseJSON('[{"title":"Title1"},{"title":"Title2"}]');
      

      【讨论】:

        【解决方案3】:

        如果它直接在你的 JS 中,那么它开箱即用:

        var obj = [{"title":"Title1"},{"title":"Title2"}];
        alert(obj[0].title); // "Title1";
        

        如果是通过 AJAX 接收的:

        // obj contains the data
        if( typeof JSON != "undefined") obj = JSON.parse(obj);
        else obj = eval("("+obj+")");
        

        【讨论】:

          【解决方案4】:

          也许使用 for 循环? :o

          for(var i = 0; i < jsonVar.length; i++) {
             alert(jsonVar[i].title);
          }
          

          【讨论】:

            【解决方案5】:

            使用JSON.parse()

            并非所有浏览器都支持该方法,因此您可以使用 Douglas Crockford 的 polyfill。 这里:https://github.com/douglascrockford/JSON-js

            编辑: 这是它的浏览器支持统计信息: http://www.caniuse.com/#search=JSON

            【讨论】:

              【解决方案6】:

              使用JSON.parsejson2.js 将为旧浏览器提供一个版本)。

              【讨论】:

              • 你没听说吗? JSON 3 是新的json2.js
              【解决方案7】:

              这是一个使用 jQuery 的示例:

              var jsonObj = $.parseJSON('[{"title": "Title1"}, {"title": "Title2"}]');
              var title1 = jsonObj[0].title; //Title1
              var title2 = jsonObj[1].title; //Title1
              

              ​您可以在此处查看演示:http://jsfiddle.net/pBb4j/

              【讨论】:

                猜你喜欢
                • 2017-01-09
                • 2013-08-23
                • 1970-01-01
                • 2016-02-01
                • 1970-01-01
                • 1970-01-01
                • 2012-05-07
                • 2020-07-19
                • 2013-08-04
                相关资源
                最近更新 更多