我是Python和JSON的新手,所以如果我听起来毫无头绪,我很抱歉。我从Google Translate API获得以下结果,并希望解析“translatedText”的值:
{
"data": {
"translations": [
{
"translatedText": "Toute votre base sont appartiennent à nous"
}
]
}
}
此响应只是使用以下字符串存储为字符串:
response = urllib2.urlopen(translateUrl)
translateResponse = response.read()
所以是的,我想做的就是获取翻译后的文本并将其存储在变量中。我搜索过Python文档,但它似乎很混乱,似乎并不认为JSON存储为一个简单的字符串而不是一些超酷的JSON对象。
答案 0 :(得分:12)
您可以使用Python> = 2.6中的json
模块将文本解析为对象:
>>> 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!'