1

我的移动应用程序读取一个外部 json 对象。如何在 javascript 中检查动态生成的 json 结构中是否存在关键节点?我尝试了 hasOwnProperty 或 containsKey 方法,但没有运气。

示例 json 数据:

{  "element1": 
  {  "element2": { "Number":  "0" }, 
     "element3": { "Number":  "1" }, 
     "element4": { "Number":  "2" }
  } 
}

由于这些元素是动态生成的,我想检查这个结构中是否存在关键 element3。data.element1.hasOwnProperty("element3") 没有运气。

4

1 回答 1

1

是的,hasOwnProperty() 方法不适用于 Json 对象。它适用于 Java 脚本对象。因此,您只需使用 eval() 方法将此 Json 对象转换为 Java Script 对象并检查该对象内部。

当您转换上述 Json 结构时,它将在另一个对象(例如 JSObject)中创建一个对象(element1)。element1 将包含属性 element2、element3 和 element4。所以你的代码应该是这样的。

var MyObject={  "element1": 
  {  "element2": { "Number":  "0" }, 
     "element3": { "Number":  "1" }, 
     "element4": { "Number":  "2" }
  } 
}

var JSObject=eval('(' + MyObject+ ')');

var IsExistElement3 = JSObject.element1.hasOwnProperty("element3");
于 2012-04-10T08:10:19.233 回答