javascript - 如何读取对象的特定属性
问题描述
我有一个对象,我想在其中只读 id。
我正在尝试使用此代码读取对象。
var d = JSON.parse(data);
for (var i = 0; i < 4; i++) {
arr.push(d['maps'][i].age);
}
但它给了我错误
SyntaxError:JSON.parse:JSON 数据的第 1 行第 1 列出现意外字符
完整的html代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> </title>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<script src="js/jquery.js" ></script>
<script src="js/test.json"></script>
</head>
<body>
<div id="myDiv"><!-- Plotly chart will be drawn inside this DIV --></div>
<script>
<!-- JAVASCRIPT CODE GOES HERE -->
var arr = [];
var d = JSON.parse(data);
for (var i = 0; i < 4; i++) {
arr.push(d['maps'][i].age);
}
console.log(arr)
var trace1 = {
x: arr,
y: [10, 15, 13, 17],
type: 'scatter'
};
var trace2 = {
x: arr,
y: [16, 5, 11, 9],
type: 'scatter'
};
var data = [trace1, trace2];
Plotly.newPlot('myDiv', data);
</script>
</body>
</html>
下面是我的对象定义:
data = {
"maps": [
{
"id": "1",
"iscategorical": "0"
},
{
"id": "2",
"iscategorical": "0"
},
{
"id": "3",
"iscategorical": "0"
}
]
}
对象有什么问题?还是我的代码?
解决方案
您向我们展示的数据已经被解析,这就是 JSON.parse 方法不起作用并引发错误的原因,而且 maps 集合中的元素中没有年龄键值对,这就是我使用 id 的原因片段中的属性
let initialData = {
"maps": [
{
"id": "1",
"iscategorical": "0"
},
{
"id": "2",
"iscategorical": "0"
},
{
"id": "3",
"iscategorical": "0"
}
]
}
let jsonData = JSON.stringify(initialData)
let parsedJson = JSON.parse(jsonData)
console.log(parsedJson)
let arrHolder = []
var d = JSON.parse(jsonData);
for (var i = 0; i < 3; i++) {
arrHolder.push(d['maps'][i].id);
}
console.log(arrHolder)
推荐阅读
- html - 带有 d3 的条形图的 x 和 y 轴的问题
- python - 为 QPrintWidget、QPrintPrevwiwWidget 添加页脚
- css - 合并两个 CSS 矩阵变换
- amazon-web-services - 将 Lex 引导至新意图的 Lambda 函数
- vba - VBE IE 如何单击标题和/或 onclick?
- c# - 限制类实例化
- mysql - 如何获取特定日期范围的最新数据?
- python - 将表连接到栅格属性表以创建具有重新分类值 python 或 R 的新栅格
- html - 如何使用 css nth-child(-n+3) 仅显示列表中的前三个图像
- python - 随机值张量上的计算(例如 tf.greater 和 tf.cond)未按预期工作