[英]How to access specific elements in a Json array?
我有一个Json数组,其中包含以下元素:“邻接”,“数据”,“id”,“名称”。 在某些元素中,“邻接”不存在。 这是一个例子:
var JsonArray = [
{
"id" : "id1",
"name" : "name1",
"data" : {
"$type" : "circle",
"$color" : "#AEC43B"
}
}, //Without "adjacencies"
{
"id" : "id2",
"name" : "name2",
"data" : {
"$type" : "circle",
"$color" : "#AEC43B"
}
}, //Without "adjacencies"
{
"adjacencies": [
{
"nodeTo": "id1",
"nodeFrom": "id3",
"data": {
"$color": "#416D9C"
}
}
],
"id" : "id3",
"name" : "name3",
"data" : {
"$type" : "circle",
"$color" : "#AEC43B"
}
} //With "adjacencies"
];
第一个和第二个元素不包含“邻接”,但第三个元素包含“邻接”。 在for (i = 0; i < JsonArray.length; i++)
的循环中for (i = 0; i < JsonArray.length; i++)
如何访问第三个元素? 例如,有.contain
属性吗? 提前致谢:)
一种方法是检查值是否为undefined
类型:
for (i = 0; i < JsonArray.length; i++) {
var item = JsonArray[i];
if (typeof item.adjacencies !== "undefined") {
// item has adjacencies property
}
}
暂且不说:这不是JSON数组 - 它是一个Javascript数组。 没有JSON对象,没有JSON数组,没有JSON。 唯一存在的JSON-y是纯JSON,它是一种序列化格式。
使用hasOwnProperty
所以你可以做到这一点
for (i = 0; i < JsonArray.length; i++){
if( JsonArray[i].hasOwnProperty('adjacencies') ){
//Do something here
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.