TypeError:Google App Engine 的 Python 中存在预期的字符串或缓冲区

2024-01-24

我想使用以下代码显示对象的内容:

def get(self):
    url="https://www.googleapis.com/language/translate/v2?key=MY-BILLING-KEY&q=hello&source=en&target=ja"
    data = urllib2.urlopen(url)
    parse_data = json.load(data)
    parsed_data = parse_data['data']['translations']

    // This command is ok
    self.response.out.write("<br>")

    // This command shows above error
    self.response.out.write(str(json.loads(parsed_data[u'data'][u'translations'][u'translatedText'])))

但错误

类型错误:预期的字符串或缓冲区

显示为该行的结果:

self.response.out.write(str(json.loads(parsed_data[u'data'][u'translations'][u'translatedText'])))

or

self.response.out.write(json.loads(parsed_data[u'data'][u'translations'][u'translatedText']))

UPDATE (fix):

我需要从字符串转换为 JSON 对象:

    # Convert to String
    parsed_data = json.dumps(parsed_data)

    # Convert to JSON Object
    json_object = json.loads(parsed_data)

    # Parse JSON Object
    translatedObject = json_object[0]['translatedText']

    # Output to page, by using HTML
    self.response.out.write(translatedObject)

parse_data = json.load(data)
parsed_data = parse_data['data']['translations']

这些行已经完成了 json.load,并提取了“数据”和“翻译”。然后代替:

self.response.out.write(str(
    json.loads(parsed_data)[u'data'][u'translations'][u'translatedText']))

你应该:

self.response.out.write(str(
    parsed_data[u'translatedText']))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TypeError:Google App Engine 的 Python 中存在预期的字符串或缓冲区 的相关文章

随机推荐