如何阅读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, } }
-
使用jQuery的
jQuery.parseJSON()
方法从JSONstring中获取JavaScript对象:var test = jQuery.parseJSON(data); // Where 'data' is your JSON string
-
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);
var json = $.parseJson(jsonString);
要获得“HAWBID”的值282829899,您可以使用:
var hawbid = json.waybill_log.TrackingResult.HAWBEntity.HAWBID;