、どのように私はすべての値を出力します `このJSONオブジェクトをjQuery /通常のJavaScriptで繰り返し処理するにはどうすればよいですか? JSONオブジェクトの場合
サンプル:?
{"firstname":{"isEmpty":"Value is required and can't be empty"},"email":{"isEmpty":"Value is required and can't be empty"}}
、どのように私はすべての値を出力します `このJSONオブジェクトをjQuery /通常のJavaScriptで繰り返し処理するにはどうすればよいですか? JSONオブジェクトの場合
サンプル:?
{"firstname":{"isEmpty":"Value is required and can't be empty"},"email":{"isEmpty":"Value is required and can't be empty"}}
あなたがオブジェクトのメンバーをループにfor .. in
を使用することができます。
var i, obj = {{your json object}};
for (i in obj) {
if (obj.hasOwnProperty(i)) {
console.log(i + ": " + obj[i]);
}
}
あなたのオブジェクトその内部にネストされたオブジェクトがあるため、2つのネストされたループを持つ必要があります。
"JSONオブジェクト"は実際にはテキスト表記のJavascriptオブジェクトです。クライアント側で行う必要があることは、その文字列をよく知られている方法と利用可能な方法のどちらかで解析することです(または少し悪い)eval
その文字列です。
例:
var jsonString = '{"firstname":{"isEmpty":"Value is required and cannot be empty"},"email":{"isEmpty":"Value is required and cannot be empty"}}'
var myParsedObject = JSON.parse(jsonString);
for(var key in myParsedObject) {
if(myParsedObject.hasOwnProperty(key))
console.log(key, ': ', myParsedObject[key]);
}
JSON.parse
は、まさに上記のdesribedを行います。これは、オブジェクトのテキスト表記を真のJavascriptオブジェクトに変換します。これが完了したら、キーをループしてfor..in
を使用してプロパティにアクセスするだけです。こう
それより「newschool'ish」それは連想配列だ場合と同じように、我々は
var myParsedObject = JSON.parse(jsonString);
Object.keys(myParsedObject).forEach(function(key) {
console.log(key, ': ', myParsedObject[key]);
});
のように、ES5でそれを行うだろう。
for (k in object){
//You don't need printing source codes of object methods, right?
if (typeof object[k] != 'function'){
document.write(object[k]);
}
}
おかげで、しかし、IE6のような非Web 2.0の互換性のあるブラウザのためIE6 – cony
@conyの使用json2.jsでsuportedないJSON.parse:https://github.com/douglascrockford/JSON-js –