2014-02-11 207 views
0

我有一個JSON,我需要從它那裏得到「PK」和「碳納米管」的值:如何從JavaScript中獲取JSON數據?

[{ 
    "ip": "[{"pk": "173.194.44.23", 
      "model": "link_finder.ip", 
      "fields": {"cnt": 3}}, 
      {"pk": "173.194.44.24", 
      "model": "link_finder.ip", 
      "fields": {"cnt": 3}}]", 
    "urls": "[{"pk": "http:\\google.com\advanced_search?hl=uk&authuser=0", 
      "model": "link_finder.url", 
      "fields": {"cnt": 2}}, 
      {"pk": "http:\\google.com\intl\uk\about.html", 
      "model": "link_finder.url", 
      "fields": {"cnt": 2}}]" 
}] 

我知道如何把它放在一個數組,但我怎麼得到的,例如,第一段和第二段的pk和cnt值?

回答

3

更新,因爲更改代碼:

如果對象是一個名爲ip,則:

data[0].ip[0].pk 
data[0].ip[0].fields.cnt 
data[1].ip[1].pk 
data[1].ip[1].fields.cnt 

原來的答覆

您缺少這種陣列支架是有效的JSON。

此外,假設您從某種Ajax-y事物中獲取此JSON,並且它將JSON發送回名爲'data'的對象中。

如果你有陣列支架,語法是:

data[0].pk //123.104.44.23 
data[0].fields.cnt // 159 


data[1].pk //171.154.44.24 
data[1].fields.cnt // 159 

這將是在Javascript中,雖然看着它那語法將Python的正常工作。

+0

@ user3156971我希望這有助於你理解從一個JSON對象獲取數據的基礎知識。這是非常基本的東西,如果你有更多的問題,你應該在這裏評論。 –

+0

做了它,繼承人的數據 – user3156971

+0

@ user3156971根據顯示的JSON更新我的答案。 –

1

檢查下一個代碼。

var json = {}; 
json = [{"pk": "123.104.44.23", 
    "model": "link_finder.ip", 
    "fields": {"cnt": 159}}, 
{"pk": "171.154.44.24", 
    "model": "link_finder.ip", 
    "fields": {"cnt": 159}}, 
{"pk": "172.194.34.31", 
    "model": "link_finder.ip", 
    "fields": {"cnt": 159}}]; 
for (var key in json){ console.log(json[key].pk + ' ' + json[key].fields.cnt)} 

結果:

123.104.44.23 159 
171.154.44.24 159 
172.194.34.31 159