var str = '{"dir":"kunhony","param":"archive"}'; var aaa = JSON.parse(str); console.log(aaa.param);
上面的代碼沒有問題,但是如果將var str = '{"dir":"kunhony","param":"archive"}'; 改為:var str = “{ 'dir': 'kunhony', 'param': 'archive' }”;代碼就會報錯。具體原因一直搞不明白,有時間去研究一下node.js源碼看看。有誰知道嗎? 代碼如下:
var str = ”{ 'dir': 'kunhony', 'param': 'archive' }“; var aaa = JSON.parse(str); console.log(aaa.param);
var data = { dir: 'kunhony', param: 'archive' }; var str = JSON.stringify(data); console.log(str); var aaa = JSON.parse(str); console.log(aaa.param);
上面這段代碼就可以,因為JSON.stringify(data);回將對象轉成{"dir":"kunhony","param":"archive"}字符串。
注:在瀏覽器上測試了一下也有這樣的問題,看來在JSON中表示字符串要用雙引號不能用單引號。暫時先這樣理解吧。