js json字串轉物件
阿新 • • 發佈:2018-12-10
1.JSON.parse()
在網上找json字串轉物件的方法 主要是:JSON.parse(str) 但我發現這個方法有很大的侷限性
var jsonStr = '{"key":"value"}';
var jsonStr1 = '{key:"value"}';
console.log(JSON.parse(jsonStr)); // 結果:{key: "value"}
console.log(JSON.parse(jsonStr1)); // 結果:Unexpected token k in JSON at position 1 at JSON.parse (<anonymous>)
JSON.parse()限制了json字串的格式只能為jsonStr的格式 範圍很窄不建議使用
2.eval()
var jsonStr = '{"key":"value"}';
var jsonStr1 = '{key:"value"}';
console.log(eval('(' + jsonStr + ')')); // 結果:{key: "value"}
console.log(eval('(' + jsonStr1 + ')'));// 結果:{key: "value"}
eval的適用範圍很廣基本上所有的json字串格式都可以轉為物件 但必須在字串前後拼上() 建議使用此方法