亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在JavaScript中解析JSON?

在JavaScript中解析JSON?

桃花長相依 2019-05-21 15:21:21
在JavaScript中解析JSON?我想在JavaScript中解析JSON字符串。響應是這樣的var response = '{"result":true,"count":1}';我怎樣才能獲得的值result,并count從這個?
查看完整描述

4 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

大多數瀏覽器都支持JSON.parse(),這是在ECMA-262第5版(JavaScript所基于的規范)中定義的。它的用法很簡單:

var json = '{"result":true,"count":1}',

    obj = JSON.parse(json);


alert(obj.count);


/* or ES6 */


const json = '{"result":true,"count":1}' || {};

const { result, count } = JSON.parse(json);

alert(result);

alert(count);

對于沒有的瀏覽器,您可以使用json2.js實現它。


如評論中所述,如果您已經在使用jQuery,那么有一個$.parseJSON函數可以映射到JSON.parse可用的或eval舊版瀏覽器中的一種形式。但是,這會執行額外的,不必要的檢查也會執行JSON.parse,因此為了獲得最好的全面性能,我建議使用它,如下所示:


var json = '{"result":true,"count":1}',

    obj = JSON && JSON.parse(json) || $.parseJSON(json);

這將確保您JSON.parse立即使用native ,而不是讓jQuery在將字符串傳遞給本機解析函數之前對字符串執行完整性檢查。


查看完整回答
反對 回復 2019-05-21
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

首先,您必須確保JSON代碼有效。


之后,如果可以的話,我建議使用jQuery或Prototype等JavaScript庫,因為這些東西在這些庫中得到了很好的處理。


另一方面,如果您不想使用庫并且可以保證JSON對象的有效性,我只需將該字符串包裝在匿名函數中并使用eval函數。


如果您從另一個不完全信任的源獲取JSON對象,則不建議這樣做,因為如果您愿意,eval函數允許使用renegade代碼。


以下是使用eval函數的示例:


var strJSON = '{"result":true,"count":1}';

var objJSON = eval("(function(){return " + strJSON + ";})()");

alert(objJSON.result);

alert(objJSON.count);

如果您控制正在使用的瀏覽器,或者您不擔心使用舊瀏覽器的人,則可以始終使用JSON.parse方法。


這真的是未來的理想解決方案。


查看完整回答
反對 回復 2019-05-21
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

如果從外部站點獲取此信息,使用jQuery的getJSON可能會有所幫助。如果它是一個列表,你可以使用$ .each迭代它


$.getJSON(url, function (json) {

    alert(json.result);

    $.each(json.list, function (i, fb) {

        alert(fb.result);

    });

});


查看完整回答
反對 回復 2019-05-21
  • 4 回答
  • 0 關注
  • 1143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號