1

私のモバイル アプリは、外部の json オブジェクトを読み取ります。動的に生成されたjson構造にキーノードが存在することをjavascriptでチェックするにはどうすればよいですか? hasOwnProperty または containsKey メソッドを試しましたが、うまくいきませんでした。

json データの例:

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

これらの要素は動的に生成されるため、キー要素3がこの構造体に存在するかどうかを確認したいと思います。data.element1.hasOwnProperty("element3") ではうまくいきません。

4

1 に答える 1

1

はい、 hasOwnProperty() メソッドは Json オブジェクトでは機能しません。Java Script オブジェクトに対して機能します。したがって、この Json オブジェクトを eval() メソッドを使用して 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 に答える