2012-06-05 90 views
-2

提取數據我有一個輸出:從JSON /字典與Python

result = { 
    "sip_domains":{ 
     "prefix":[{"name":""}], 
     "domain":[{"name":"k200.com"},{"name":"Zinga.com"},{"name":"rambo.com"}] 
    }, 
    "sip_security":{"level":2}, 
    "sip_trusted_hosts":{"host":[]}, 
    "sip_proxy_mode":{"handle_requests":1} 
} 

從此我只是想輸出打印到我的屏幕:

domain : k200.com 
domain : Zinga.com 
domain : rambo.com 

我怎樣才能使用該輸出正則表達式

急需幫助

+0

爲什麼你需要正則表達式?你在那裏有域... – Ben

+0

爲什麼使用正則表達式時,它已經在你可以遍歷的字典中? –

+0

我認爲這裏不清楚,如果你有一個實際的Python字典或字符串格式(如JSON)。你能清楚嗎? – phg

回答

1

如果您從某處以字符串的形式獲取此數據,則必須將其轉換爲Python字典對象才能訪問它。你不應該使用任何正則表達式來獲得這個輸出。

import json 
# get the json str somehow 
json_dict = json.loads(json_str) 
for domain_dict in json_dict['sip_domains']['domain']: 
    print 'domain : %s' % (domain_dict['name']) 
+0

Cool ..現在作品...謝謝dm03514 – JJ84

4

如果是需要解析的文本,請使用JSO n模解析JSON有效載荷:

http://docs.python.org/library/json.html?highlight=json#json

正則表達式並不需要有良好的編程語言如Python。

否則,如果它是Python字典,則使用Python dictionary []樣式項訪問來從字典中讀取數據。

+0

嗨phg ..結果是字符串格式 – JJ84

+0

使用json.loads()函數從字符串創建Python字典,然後使用字典訪問來讀取值 –