2014-10-04 59 views
0

我想分析从PHP代码生成此使用jQuery或JavaScript 我的JSON如下:的Javascript如何使用JSON数组解析JSON

JSON

{ 
     "user": { 
      "name": "John Carter", 
      "position": 0, 
      "tickets": { 
       "months": [ 
        "October", 
        "November" 
       ], 
       "start_Time": "2014-10-02", 
       "end_Time": "2014-11-21", 
       "Open": [ 
        "1", 
        "3" 
       ] 
      } 
     } 
} 

我的JavaScript

$.ajax({ 
       url: 'ajax.report.php', 
       type: 'POST', 
       data: 'start='+startDate+'&&end='+endDate, 
       success: function(response){ 
        var json_obj = $.parseJSON(response); 
        for(var i =0; i < json_obj.user.length; i++){ 
         //What is the next? 
        } 
       } 
      }); 

请帮忙。 谢谢!

+0

Hi @ user3312993如果这个或任何答案已解决您的问题,请点击复选标记,考虑[接受它](http://meta.stackexchange.com/q/5234/179419)。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。没有义务这样做。 – AmuletxHeart 2014-10-05 06:19:50

回答

0

我假设你正在尝试将字符串形式的一些JSON转换为JS可用的对象。您可以使用JSON.parse(jsonString)将有效的JSON字符串解析为JS对象。 (其中jsonString是包含JSON字符串的变量)

0

我建议您查看jquery文档以获取更多信息,您可以使用的最佳方法是jquery.ajax确保在您的php脚本中将文本编码为JSON ,否则jquery会将其解释为纯文本/文本。

小片段,你也可以找到关于jQuery的文档..

$.ajax("example.php") 
.done(function(data) { 
    console.log(data); 
}); 
+0

是的,但我不知道如何获得数组的json对象的值。 – user3312993 2014-10-04 08:28:37

+0

它被提取为对象,这意味着你可以使用data.ARRAYKEY来获得你想要的。除非密钥是增量值,否则您需要使用数据[KEY] .. – Niels 2014-10-06 09:01:01

1

的jQuery返回的JSON已经是一个JavaScript对象,而不是字符串。你不需要进一步解析它来使用它。我在移动设备上所以我现在无法证实,但我敢肯定,你可以这样做:

success: function(response){ 
    //try 
    var name = response.user.name 
    //try this as well 
    var name = response.name 
} 

您应该能够使用的console.log打印出了名的字符串( ) 在这之后。