以下是使用 Xstream 创建的简单 JSON 对象。它是一个有效的 JavaScript 对象吗?实际上我想问一下如何访问第一人称信息,如 id、用户名、密码等。但是当我在浏览器中查看此文件时,显示的网页未显示“21”。我希望该页面应显示 21。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
var obj = {"records":[
{"beans.Person":[
{"id":21,"name":"Name21","username":"Username21","password":"password21","age":41,"sex":true},
{"id":22,"name":"Name22","username":"Username22","password":"password22","age":42,"sex":true},
{"id":23,"name":"Name23","username":"Username23","password":"password23","age":43,"sex":true},
{"id":24,"name":"Name24","username":"Username24","password":"password24","age":44,"sex":true},
{"id":25,"name":"Name25","username":"Username25","password":"password25","age":45,"sex":true},
{"id":26,"name":"Name26","username":"Username26","password":"password26","age":46,"sex":true},
{"id":27,"name":"Name27","username":"Username27","password":"password27","age":47,"sex":true},
{"id":28,"name":"Name28","username":"Username28","password":"password28","age":48,"sex":true},
{"id":29,"name":"Name29","username":"Username29","password":"password29","age":49,"sex":true},
{"id":30,"name":"Name30","username":"Username30","password":"password30","age":50,"sex":true}
]
}
]
}
document.write(obj.records[0].beans.Person[0].id);
</script>
</head>
<body>
</body>
</html>
但是当我在浏览器中查看此文件时,显示的网页没有显示 21。我希望该页面应显示 21。
您可以直接复制粘贴源码试试看。它不显示 21。我如何访问这些值。
最佳答案
您的问题是在标识符 "beans.Person"
中使用了 "."
,这意味着您必须引用它,如下所示:
obj.records[0]["beans.Person"][0].id
并且避免使用 document.write
除非你有充分的理由并且知道你在做什么。
<div id="result"></div>
var obj = {
"records": [{
"beans.Person": [{
"id": 21,
"name": "Name21",
"username": "Username21",
"password": "password21",
"age": 41,
"sex": true
}, {
"id": 22,
"name": "Name22",
"username": "Username22",
"password": "password22",
"age": 42,
"sex": true
}, {
"id": 23,
"name": "Name23",
"username": "Username23",
"password": "password23",
"age": 43,
"sex": true
}, {
"id": 24,
"name": "Name24",
"username": "Username24",
"password": "password24",
"age": 44,
"sex": true
}, {
"id": 25,
"name": "Name25",
"username": "Username25",
"password": "password25",
"age": 45,
"sex": true
}, {
"id": 26,
"name": "Name26",
"username": "Username26",
"password": "password26",
"age": 46,
"sex": true
}, {
"id": 27,
"name": "Name27",
"username": "Username27",
"password": "password27",
"age": 47,
"sex": true
}, {
"id": 28,
"name": "Name28",
"username": "Username28",
"password": "password28",
"age": 48,
"sex": true
}, {
"id": 29,
"name": "Name29",
"username": "Username29",
"password": "password29",
"age": 49,
"sex": true
}, {
"id": 30,
"name": "Name30",
"username": "Username30",
"password": "password30",
"age": 50,
"sex": true
}]
}]
}
document.getElementById("result").textContent = obj.records[0]["beans.Person"][0].id;
关于 jsfiddle
关于javascript - 当 JSON 对象名称不是原子时如何从 JSON 中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16117662/