2017-06-15 42 views
-3

我有JSON它的結構類似於轉換JSON滿對象在Javascript

{ 
    "Items": [ 
    { 
     "id": { 
     "N": "3" 
     }, 
     "msg": { 
     "S": "qdfgqdfg" 
     } 
    }, 
    { 
     "id": { 
     "N": "2" 
     }, 
     "msg": { 
     "S": "sdfsdf" 
     } 
    }, 
    { 
     "id": { 
     "N": "4" 
     }, 
     "autre": { 
     "S": "bobobqfg" 
     }, 
     "msg": { 
     "S": "srgshjsf" 
     } 
    }, 
    { 
     "id": { 
     "N": "1" 
     }, 
     "msg": { 
     "S": "test" 
     } 
    } 
    ], 
    "Count": 4, 
    "ScannedCount": 4 
} 

我想將它轉換爲選擇idmsg並顯示它們。

我試試這個:

var parsed = JSON.parse(test); 
alert(parsed); 

但這僅返回[object Object]

我使用Firefox控制檯,並看到陣列結構,這是充滿了對象。 enter image description here

+1

當您使用'警報()'它內部調用'的ToString()'上無論是傳遞給它的,因此爲什麼你要'[對象的對象]'' – George

+2

不parsed'持有對象...訪問相應的屬性... – Rayon

+1

你解析了一個JSON到對象,並且你得到了一個對象。問題是什麼? – amiramw

回答

0

遍歷您的數據和訪問使用keyvalue

var data = { 
 
    "Items": [ 
 
    { 
 
     "id": { 
 
     "N": "3" 
 
     }, 
 
     "msg": { 
 
     "S": "qdfgqdfg" 
 
     } 
 
    }, 
 
    { 
 
     "id": { 
 
     "N": "2" 
 
     }, 
 
     "msg": { 
 
     "S": "sdfsdf" 
 
     } 
 
    }, 
 
    { 
 
     "id": { 
 
     "N": "4" 
 
     }, 
 
     "autre": { 
 
     "S": "bobobqfg" 
 
     }, 
 
     "msg": { 
 
     "S": "srgshjsf" 
 
     } 
 
    }, 
 
    { 
 
     "id": { 
 
     "N": "1" 
 
     }, 
 
     "msg": { 
 
     "S": "test" 
 
     } 
 
    } 
 
    ], 
 
    "Count": 4, 
 
    "ScannedCount": 4 
 
} 
 

 
for (var i =0; i< data.Items.length; i++){ 
 
console.log(data.Items[i].id.N); 
 
    console.log(data.Items[i].msg.S); 
 

 
}

+0

我用** for循環**更新了我的答案。謝謝你的建議。 –

1

如您所見,它是一個對象。 ,您可以通過使用下面的代碼的項目環

id0 = parsed.Items[0].id; // access to the id of the first element of the list 
msg0 = parsed.Items[0].msg; // access to the msg of the first element of the list 

另外::所以,你應該訪問屬性像下面

for (var i =0; i< data.Items.length; i++) 
{ 
    console.log(data.Items[i].id.N); 
    console.log(data.Items[i].msg.S); 
} 
1

如果您使用的是Firefox,你可以使用

alert(parsed.toSource()); 

,如果你想看到警告信息的對象。這對於調試目的已經足夠了。否則使用控制檯。 將JSON字符串轉換爲對象從你身邊正確完成

-1

基本上你需要解析JSON,迭代'Items'中的對象並訪問各個鍵(id,msg)。

var parsed = JSON.parse(test); // Parse the JSON string to JSON object 
var items = parsed.Items; // Get the items array 
var itemsLength = items.length; 

for (var i=0; i<itemsLength; i++) { 
    console.log("id: " + items[i].id.N + ", " + "msg: " + items[i].msg.S); // Loop over and print id & msg 
}