サーバーはJSONでオブジェクトの配列を返します。そうですね。オブジェクト配列のJSON.parse
{"d":"[
{\"Id\":1,\"IsGood\":true,\"name1\":\"name1dsres\",\"Name2\":\"name2fdsfd\",\"name3\": \"name3fdsgfd\",\"wasBorn\":\"\\/Date(284011000000)\\/\"},
{\"Id\":2,\"IsGood\":false,\"name1\":\"fdsfds\",\"name2\":\"gfd3im543\",\"name3\":\"3543gfdgfd\",\"WasBorned\":\"\\/Date(281486800000)\\/\"}
]"}
JSON.parse関数を使用して解析する必要があります。私はこのようにこれをやっている:もし
var id = item.Id;
if (item.IsGood) { ... }
:
function myFunction(dataFromServer){
var parsedJSON = JSON.parse(dataFromServer.d);
for (var item in parsedJSON.d) {
// how do I get the fields of current item?
}
このコードは動作していない、それは未定義
for (var item in parsedJSON) {
alert(item.Id);
}
をdoens'tといただきました!あなたの質問 ?? – Jashwant
あなたが投稿したデータが 'dataFromServer'に含まれていると仮定し、あなたがすでにそれを解析した後、' parsedJSON'はすでに配列であり、 'd'というプロパティはありません。オブジェクトのプロパティにアクセスする方法を知りたければ、https://developer.mozilla.org/ja/JavaScript/Guide/Working_with_Objectsをご覧ください –
更新について:これは配列を反復する方法ではありません。 'for ... in'を理解するための次のリンクを見てください:https://developer.mozilla.org/ja/JavaScript/Reference/Statements/for...in。通常のforループを使用して、配列を繰り返し処理します。 –