Как вытащить значение msg из data?

Рейтинг: 0Ответов: 1Опубликовано: 05.09.2014

Есть код на питоне

data = json.loads(urllib2.urlopen("http://...").read())

С сайта скачивается текст:

{"msg":"Text"}

И я никак не могу вытащить значение msg из data. Print data возвращает ошибку. Что я делаю не так и как мне получить свои данные?

Ответы

▲ 1

В доках написано, что следуют RFC 4627. В стандарте не нашел упоминание про одинарные кавычки, "все", наверное, не полностью следуют стандарту )

К тому же:

a = "{'msg':'Text'}"
json.loads(a) # ValueError: Expecting property name

но при этом:

a = u"{'msg':'Text'}"
json.loads(a) # ValueError: Expecting property name enclosed in double quotes

Т.е. если бы привели к UTF-8, то ошибка была бы информативнее )

Тем более, что по тому же стандарту:

"A string is a sequence of zero or more Unicode characters".