2012-06-05 7 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 из строки, затем используйте словарь для чтения значений –

Смежные вопросы