Получить значение конкретного элемента JSON в Python - PullRequest
7 голосов
/ 15 января 2011

Я новичок в Python и JSON, так что извините, если я звучу невежественно.Я получаю следующий результат от Google Translate API и хочу разобрать значение «translationText»:

{
 "data": {
  "translations": [
   {
    "translatedText": "Toute votre base sont appartiennent à nous"
   }
  ]
 }
}

Этот ответ просто сохраняется в виде строки, используя это:

response = urllib2.urlopen(translateUrl)
translateResponse = response.read()

Так что да, все, что я хочу сделать, это получить переведенный текст и сохранить его в переменной.Я искал Документы Python, но это кажется настолько запутанным и, кажется, не рассматривает JSON, хранимый как простую строку, а не как какой-то очень крутой объект JSON.

1 Ответ

12 голосов
/ 15 января 2011

Вы можете разобрать текст в объект, используя модуль json в Python> = 2.6:

>>> import json
>>> translation = json.loads("""{
...  "data": {
...   "translations": [
...    {
...     "translatedText": "Toute votre base sont appartiennent  nous"
...    },
...    {
...     "translate": "¡Qué bien!"
...    }
...   ]
...  }
... }
... """)
>>> translation
{u'data': {u'translations': [{u'translatedText': u'Toute votre base sont appartiennent  nous'}]}}
>>> translation[u'data'][u'translations'][0][u'translatedText']
u'Toute votre base sont appartiennent  nous'
>>> translation[u'data'][u'translations'][1][u'translate']
u'¡Qué bien!'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...