我目前正在处理一些json编码的数据,但无法正常访问,这是我做的一些测试:
片段代码1:
var json = [
{"MarkerId":1,"0":1,"UserId":2147483647,"1":2147483647,"locX":51,"2":51,"LocY":4,"3":4},
{"MarkerId":2,"0":2,"UserId":2147483647,"1":2147483647,"locX":55,"2":55,"LocY":4,"3":4}];
console.log(json[0][0]);
输出:
1
片段代码2:
var json2 = getCookie('markers');
console.log(json2[0][0]);
输出:
[
片段代码3:
console.log(getCookie('markers'));
输出:
[{"MarkerId":1,"0":1,"UserId":2147483647,"1":2147483647,"locX":51,"2":51,"LocY":4,"3":4},{"MarkerId":2,"0":2,"UserId":2147483647,"1":2147483647,"locX":55,"2":55,"LocY":4,"3":4}]
如您所见,当我使用测试3硬编码的结果时,我可以很好地访问它,但是当我仅在代码中使用它时,我会有所不同
有谁知道如何做到这一点?
Cookies仅存储字符串。您需要使用JSON.parse()
将它们转换回一个对象。另外,的内容json
不是JSON,而是JAvaScript对象(实际上是数组)。
var obj2 = JSON.parse(getCookie('markers') || '[]');
console.log(obj2[0][0]);
该|| '[]'
cookie是否因为一个空字符串丢失或回落到一个空数组undefined
不会是有效的JSON。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句