jquery移动javascript验证json密钥

jquery移动javascript验证json密钥,javascript,json,Javascript,Json,我的移动应用程序读取外部json对象。如何在javascript中检查动态生成的json结构中是否存在关键节点?我尝试了hasOwnProperty或containsKey方法,但没有成功 json数据示例: { "element1": { "element2": { "Number": "0" }, "element3": { "Number": "1" }, "element4": { "Number": "2" } } } 由于这些元素是动态

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

json数据示例:

{  "element1": 
  {  "element2": { "Number":  "0" }, 
     "element3": { "Number":  "1" }, 
     "element4": { "Number":  "2" }
  } 
}
由于这些元素是动态生成的,我想检查这个结构中是否存在key element3。data.element1.hasOwnProperty(“element3”)不太好。

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

当您转换上述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");
是的,hasOwnProperty()方法不适用于Json对象。它适用于Java脚本对象。因此,您只需要使用eval()方法将这个Json对象转换为Java脚本对象,并检查该对象的内部

当您转换上述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");