2016-12-31 81 views
-2

下面的代碼運行良好。如何在python中解析json字符串?

import json 
json_data = '{"Detail":" Rs. 2000 Topup Rs.1779.99 Talktime","Amount":"2000","Validity":"Unlimited"}' 
     json_parsed = json.loads(json_data) 
     print(json_parsed['Detail']) 
     print(json_parsed['Amount']) 
     print(json_parsed['Validity']) 

如何解析json字符串?以及如何顯示所有的值也?

json_data = '[{"Detail":" Rs. 2000 Topup Rs.1779.99 Talktime","Amount":"2000","Validity":"Unlimited"},{"Detail":" Rs. 1900 Topup Rs.1690.99 Talktime","Amount":"1900","Validity":"Unlimited"}]' 

請幫幫我。

+2

那麼你面臨的問題是什麼?你有沒有嘗試你的代碼對JSON字符串? – karthikr

+0

唯一的區別是第二個字符串是一個對象數組 - 那麼究竟是什麼問題呢? – UnholySheep

+0

我不怎麼解析這個字符串* [{「Detail」:「Rs.2000 Topup Rs.1779.99 Talktime」,「金額」:「2000」,「有效性」:「無限制」},{「詳細信息」: 「Rs。1900充值Rs.1690.99通話時間」,「金額」:「1900」,「有效性」:「無限制」}] * –

回答

3

這json字符串是一個對象的數組,而不是一個單一的對象。

你會用與json模塊相同的方式解析它,但不是獲得單個字典,你會得到一個字典列表。

你能夠顯示爲這樣:

import json 

json_data = '[{"Detail":" Rs. 2000 Topup Rs.1779.99 Talktime","Amount":"2000","Validity":"Unlimited"},{"Detail":" Rs. 1900 Topup Rs.1690.99 Talktime","Amount":"1900","Validity":"Unlimited"}]' 

# convert to python data structure 
d_list = json.loads(json_data) 

# loop through the list 
for d in d_list: 
    # use get for safety 
    print d.get('Detail') 
    print d.get('Amount') 

無論解析語言,Python和JavaScript的,PHP的等等,任何JSON字符串或子集具有包裹在物體JSON字符串的[括號]將是一個數組,並且需要以類似的(特定語言)方式進行處理。

+0

非常感謝你的幫助。它運作良好 –