如何在Javascript中阅读JSON(服务器响应)?

Bla*_*ckM 15 javascript parsing json appcelerator

我在服务器上发送了一些请求,它回复了我:

{"COLUMNS":["REGISTRATION_DT","USERNAME","PASSWORD","FNAME","LNAME","EMAIL","MOBILE","FACEBOOK_ID"],"DATA":[["March, 17 2012 16:18:00","someuser",somepass,"somename","somesur","someemail",sometel,"someid"]]}
Run Code Online (Sandbox Code Playgroud)

我尝试了很多但似乎没有什么对我有用!

var xml2 = this.responseData;
var xml3 = xml2.getElementsByTagName("data");
Ti.API.log(xml3.FNAME);
Run Code Online (Sandbox Code Playgroud)

对于这段代码,我得到"null".

任何帮助,将不胜感激!

Nic*_*ick 7

如果你正在尝试使用JSON格式,你的问题是内部的数据[...]也需要成双成对,和分组,{...}这里.

例如,

{ 
      "sales": [ 
         { "firstname" : "John", "lastname" : "Brown" },
         { "firstname" : "Marc", "lastname" : "Johnson" }
      ] // end of sales array
    }
Run Code Online (Sandbox Code Playgroud)

所以你可能有:

{"COLUMNS": [ 
  {"REGISTRATION_DT" : "19901212", "USERNAME" : "kudos", "PASSWORD" : "tx91!#1", ... },
  {"REGISTRATION_DT" : "19940709", "USERNAME" : "jenny", "PASSWORD" : "fxuf#2", ... },
  {"REGISTRATION_DT" : "20070110", "USERNAME" : "benji12", "PASSWORD" : "rabbit19", ... }
 ]
}
Run Code Online (Sandbox Code Playgroud)

如果服务器正在向您发送您所引用的内容res,则可以执行此操作以在Javascript中解析它:

var o=JSON.parse(res);
Run Code Online (Sandbox Code Playgroud)

然后,您可以循环遍历列中的每个实例,如下所示:

for (var i=0;i<o.COLUMNS.length;i++)
{  
        var date = o.COLUMNS[i].REGISTRATION_DT; .... 
}
Run Code Online (Sandbox Code Playgroud)


Uma*_*har 6

看到那个链接。读取 JSON 响应

这是完美的。