1. 程式人生 > >js json字串轉物件

js json字串轉物件

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字串格式都可以轉為物件 但必須在字串前後拼上() 建議使用此方法