json访问数据未正确显示
json access data not showing properly
我目前正在处理一些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。
getCookie('markers')
返回字符串。本地javascript方法JSON.parse(text[,reviver])将字符串解析为JSON。
var json2 = getCookie('markers');
if ( typeof(json2 ) == "string" ) {
json2 = JSON.parse( json2 );
}
然后试试你的代码。。
相关文章:
- 无法在AJAX成功访问中显示JSON结果
- 每次访问显示一次警报
- 访问要在 React Native Text 组件中显示的对象数组
- 访问模板中的属性时出现问题-除'name'显示错误'没有定义[attributename];
- 我的Javascript项目正在访问网络摄像头,但没有显示任何内容
- 模态无法访问其显示功能
- json访问数据未正确显示
- 无法访问在开发人员工具中显示但不在页面源中的元素
- 当直接访问作为数组的javascript对象属性时,它显示为空
- Javascript - 循环访问对象数组,仅显示最后一个对象
- 如何访问新的切换突出显示方法
- 在子对象中显示筛选列表的挖空 js.访问要过滤的父对象列表
- JavaScript 循环访问嵌套对象并显示在单独的行中
- SharePoint - 显示模板 - 访问客户端上下文对象
- Foursquare 返回“无访问控制允许源”标头显示错误
- 循环访问未显示在 Express 应用程序中的虚拟数据
- Chrome 显示“访问控制允许来源”错误
- Java-使用“;查找“;用于显示访问文件中的特定记录或从中删除特定记录的命令
- 在javascript链接上显示访问过的颜色
- 删除,隐藏,不显示访问过的链接