Javascript 如何访问Json数组中的特定元素?
我有一个Json数组,它包含以下元素: “邻接”、“数据”、“id”、“名称”。 在某些元素中,“邻接”不存在。 这是一个例子:Javascript 如何访问Json数组中的特定元素?,javascript,arrays,json,Javascript,Arrays,Json,我有一个Json数组,它包含以下元素: “邻接”、“数据”、“id”、“名称”。 在某些元素中,“邻接”不存在。 这是一个例子: var JsonArray = [ { "id" : "id1", "name" : "name1", "data" : { "$type" : "circle",
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"
];
第一个和第二个元素不包含“邻接”,但第三个元素包含。
在(i=0;i中
如何访问第三个元素?
例如,是否有.contain
属性?
提前感谢:)一种方法是检查值是否为未定义的类型:
for (i = 0; i < JsonArray.length; i++) {
var item = JsonArray[i];
if (typeof item.adjacencies !== "undefined") {
// item has adjacencies property
}
}
for(i=0;i
顺便说一句:这不是一个JSON数组——它是一个Javascript数组。没有JSON对象,没有JSON数组,没有JSON nothing。唯一存在的JSON-y是纯JSON,它是一种序列化格式。使用hasOwnProperty
所以你可以这样做
for (i = 0; i < JsonArray.length; i++){
if( JsonArray[i].hasOwnProperty('adjacencies') ){
//Do something here
}
}
for(i=0;i
在操作符中使用,例如,obj//中的'property'返回一个布尔值
,但对对象使用“in”时要小心,因为它也会遍历原型的属性。