2017-01-16 275 views
0

我是在JSON是一個新手, 我想從我的JSON數據 這裏得到的只是「標籤」是我的JSON數據,我使用json.dumps把它變成JSON格式獲取標籤名稱

a = json.dumps({"Name": "Robert", 
    "Date" : "January 17th, 2017", 
    "Address" : "Jakarta"}) 

我想只打印我的JSON數據的標籤,有沒有可能的方法來做到這一點? 我想要的結果是

Name 
Date 
Address 
+2

一旦這是JSON,這變得困難。你爲什麼不使用Python數據結構? JSON在這裏沒有任何意義。 –

回答

1

您必須json轉換爲dict然後labels是一樣的keys

import json 
a = json.dumps({"Name": "Robert", 
    "Date" : "January 17th, 2017", 
    "Address" : "Jakarta"}) 
for key in json.loads(a): 
    print(key) 

輸出:

Name 
Date 
Address 

可選

如果您要訪問的每個項目的值

import json 
a = json.dumps({"Name": "Robert", 
    "Date" : "January 17th, 2017", 
    "Address" : "Jakarta"}) 
d = json.loads(a) 
for key in d: 
    print("key: {}, value: {}".format(key, d[key])) 

Python2

for key, value in json.loads(a).iteritems(): 
    print("key: {}, value: {}".format(key, value)) 

Python3

for key, value in json.loads(a).items(): 
    print("key: {}, value: {}".format(key, value)) 

輸出:由

key: Name, value: Robert 
key: Date, value: January 17th, 2017 
key: Address, value: Jakarta 
+0

哈哈,你發佈的答案,字面上,當我打字它。 :D –

+0

:P解決方案非常簡單:V – eyllanesc

+0

感謝您的回答,並且我得到了結果日期,名稱和地址最後,爲什麼會發生?它應該像你所說的 –

0

假設:

  1. 我假設你正在使用python3.x

如下你可以這樣做:

import json 
a = json.dumps({"Name": "Robert", "Date" : "January 17th, 2017", "Address" : "Jakarta"}) 
a_dict = json.loads(a) 
for key in a_dict.keys(): 
    print (key) 
0

我認爲你需要使用負載創建一個JSON對象。所以在Python3中:

import json 

a = json.loads('{"Name":"Robert","Date":"January 17th, 2017","Address":"Jakarta"}') 

for key, value in a.items() : 
    print (key) 
+1

'loads' **不會**創建​​JSON「對象」。它將* JSON格式的字符串反序列化爲* python對象* –

+0

我的意思是從字符串 –

+0

得到一組字符串,結果是Date,Name和Address,它爲什麼會發生? –