2011-07-10 6 views
0

説明と目標: データは、2分ごとにJSONデータに常に生成されます。私がする必要があるのは、提供されたJSONデータから情報を取得することです。データは絶えず変化します。情報が解析されたら、他の関数で使用できる変数に情報を取り込む必要があります。JSONデータを解析するためのルーピング

私が悩んでいるのは、後で関数で使用できるストアド変数にすべてのデータを再割り当てするループを使用して関数を作成する方法です。

例情報:

var json = {"data": 
{"shop":[ 
{ 
"carID":"7", 
"Garage":"7", 
"Mechanic":"Michael Jamison", 
"notificationsType":"repair", 
"notificationsDesc":"Blown Head gasket and two rail mounts", 
"notificationsDate":07/22/2011, 
"notificationsTime":"00:02:18" 
}, 

{ 
"CarID":"8", 
"Garage":"7", 
"Mechanic":"Tom Bennett", 
"notificationsType":"event", 
"notifications":"blown engine, 2 tires, and safety inspection", 
"notificationsDate":"16 April 2008", 
"notificationsTime":"08:26:24" 
} 
] 
}}; 

function GetInformationToReassign(){ 
var i; 
for(i=0; i<json.data.shop.length; i++) 
{ 
//Then the data is looped, stored into multi-dimensional arrays that can be indexed. 
} 

}

だからエンディングの結果はこのようにする必要があります:

shop[0]={7,7,"Michael Jamison",repair,"Blown Head gasket and two rail mounts", 07/22/2011,00:02:18 } 

ショップ[1] = {}

+0

あなたは本当に簡単[JSON-構文]を見ている必要があります(http://www.json.org/) – Saxoier

答えて

0

まあ、あなたを出力例はできません。物事のリストはありますが、オブジェクト構文を使用しています。あなたはこのようなものを使用することができ、オブジェクトのプロパティをループについて

shop[0]=[7,7,"Michael Jamison",repair,"Blown Head gasket and two rail mounts", 07/22/2011,00:02:18] 

:あなたは本当に代わりに、キーと値のペアのリスト形式でこれらの項目は、このなりたい場合は、代わりに理にかなって何

var properties = Array(); 
for (var propertyName in theObject) { 
    // Check if it’s NOT a function 
    if (!(theObject[propertyName] instanceof Function)) { 
    properties.push(propertyName); 
    } 
} 

正直なところ、なぜあなたは別のフォーマットにしたいのですか? jsonデータはすでに取得したデータとほぼ同じですが、shop [0] ["carID"]を使ってそのフィールドにデータを取得できます。

+0

他の使用可能な変数にその情報を転送するためにとにかくあり:ここでは一例です。 – user763349

+0

私に正しい方向を教えてください。基本的にオブジェクトのリストをオブジェクトに戻す必要があります – user763349

+0

2番目のブロックで指定したコードは、実際に配列のリストを配置します。 – Case

1

あなたのJSON文字列をループ次のコード、このことができます

 var JSONstring=[{"key1":"value1","key2":"value2"},{"key3":"value3"}]; 

     for(var i=0;i<JSONstring.length;i++){ 
     var obj = JSONstring[i]; 
      for(var key in obj){ 
       var attrName = key; 
       var attrValue = obj[key]; 

       //based on the result create as you need 
      } 
     } 

希望を使用することができます...

0

あなたは「お店」プロパティにデータを抽出したいようですが、私に聞こえますJSONオブジェクトのすべてのアイテムを簡単に参照できるようにします。

var json = 
    { 
    "data": 
     {"shop": 
     [ 
      {"itemName":"car", "price":30000}, 
      {"itemName":"wheel", "price":500} 
     ] 
     } 
    }, 
    inventory = []; 

// Map the shop's inventory to our inventory array. 
for (var i = 0, j = json.data.shop.length; i < j; i += 1) { 
    inventory[i] = json.data.shop[i]; 
} 

// Example of using our inventory array 
console.log(inventory[0].itemName + " has a price of $" + inventory[0].price); 
関連する問題