如何阅读JSON结果在jQuery中?

我不熟悉jQuery。 你能帮我吗? 我有一个JSON从URL的响应,但我不知道如何,我可以读取jQuery中的键值。

例如,如何获得“HAWBItemEntity”值?

请检查下面的json响应。

{ "waybill_log": { "TrackingResult": { "HAWBEntity": { "HAWBID": 282829899, }, "HAWBHistoryEntity": [ { "ActionDate": "4/26/2014 12:32:00 PM", }, { "ActionDate": "4/26/2014 12:32:00 PM", } ], "HAWBAttachmentEntity": [ { "FileName": "Invoice_30018018516..pdf", } ], "HAWBItemEntity": null, }, "HAWBAttachmentEntityExtendedList": [ { "HAWBAttachmentEntity": { "FileName": "Invoice_30018018516..pdf", }, "AttachmentLink": "nw" } ], "CurrentStatus": "Delivery", "ConsolsData": { "ConsolNumber": null, }, "ItemContainerData": { "ContainerNumber": null, }, "FlightDetails": null, } } 
  1. 使用jQuery的jQuery.parseJSON()方法从JSONstring中获取JavaScript对象:

     var test = jQuery.parseJSON(data); // Where 'data' is your JSON string 
  2. parsing后, test是一个JavaScript对象。 关于parseJSON()的jQuery文档 :

jQuery.parseJSON()

采用格式正确的JSONstring并返回生成的JavaScript对象。 …

关于Javascript对象:

 // Declaration var Obj = { // Properties: propertyOne: 'value', // string propertyTwo: 52.3654, // float // propertyThree is an object inside 'Obj' // defined by the braces // which may naturally contain its own properties & methods propertyThree: { propTrheeProperty: 42, // int propTrheeAnotherProperty: 'whatever', thePropThreeMethod: function () { // your function code } // and so on, no coma after the last property/method }, // and so on // 'Obj' - Methods: methodOne: function () { // your function code }, methodTwo: function () { // your function code } // and so on, no coma after the last property/method } 

有两种可能性来访问属性(但不包括方法,见下文),所谓的属性访问器

– “点符号”:

用点符号,你可以访问属性和方法

 var objOne = new Obj(); // Create a new instance of Obj objOne.propertyTwo; // 52.3654 var objTwo = new Obj(); // Another instance of Obj objTwo.propertyThtree.propTrheeProperty; // 42 objTwo.propertyThtree.propTrheeAnotherProperty; // whatever // Accessing methods objOne.methodOne(); // whatever your function methodOne() returns or does objTwo.methodTwo(); // whatever your function methodTwo() returns or does 

– “支架符号”:

使用括号表示法,您还可以访问属性和方法

 objTwo['propertyThtree']['propTrheeProperty']; // 42 objOne['methodOne'](); 

代替

 objTwo.propertyThtree.propTrheeProperty; // 42 objOne.methodOne(); 

就你而言,这意味着:

 window.console.log(test.waybill_log.TrackingResult.HAWBEntity.HAWBID); // 282829899 

要么

 window.console.log(test.waybill_log.TrackingResult.HAWBEntity); // Should give something like: Object { HAWBID: '282829899'} 

要么

 window.console.log(test.waybill_log.HAWBItemEntity); // null 

一般来说,你不需要用jquery阅读json。

只需轻松阅读,使用JSON.parse()函数,而不使用Jquery。

 var json = '{"result":true,"count":1}', obj = JSON.parse(json); alert(obj.count); 

如果你使用jQuery来获取JSON,你可以使用:

http://api.jquery.com/jquery.getjson/

它会parsing你的JSON。

 var json = $.parseJson(jsonString); 

要获得“HAWBID”的值282829899,您可以使用:

 var hawbid = json.waybill_log.TrackingResult.HAWBEntity.HAWBID;