【发布时间】:2014-04-19 23:18:16
【问题描述】:
无法将变量类型转换为带引号的格式。基本上我从 json 字典(一个 API)中提取一些信息,然后我想用它构建我自己的 json,但是我遇到了类型问题。基本上我从 jason 中提取的是 unicode(使用 type(extract) 检查),我想创建一个字符串:
myjson = '"extract":' + str(extract)
然而,当我打印出 myjson 时,我没有得到字符串或引号中的提取,这会导致稍后在传递 json 时出现问题。现在这似乎适用于从 API 中提取的某些值,但不适用于其他值。如何确保构建的字符串始终正确格式化? IE。加载 myjson 不会中断。所以当我打印出来时,我得到"extract": xyz 123,但xyz 123 不是 "xyz 123"
我还使用以下方法从 unicode 转换为字符串类型:
encode('ascii','ignore')
即:
myjson = '"extract":' + str(extract.encode('ascii','ignore'))
为什么在这个问题上建立 json 字符串是一种防弹方法?
【问题讨论】:
-
为什么要建立一个字符串?如果您使用 JSON 输入,您可以继续使用 dicts 吗?你看过 json.loads 和 json.dumps 吗?