【发布时间】:2016-08-25 10:29:20
【问题描述】:
作为一个 json 响应,我从服务器得到它
{"Data":["{\"item1\": \"value1\",\"item2\": \"value2\"}"]}
我用过
a=json.loads(response)
print(a)
self.write(a)
从我看到的终端
{u'Data':[u'{"item1": "value1", "item2": "value2"}"]'}
来自邮递员,就像
{"Data":["{\"item1\": \"value1\",\"item2\": \"value2\"}"]}
我需要的
{"Data":[{"item1": "value1","item2": "value2"}]}
我知道所有这些格式都是正确的,但我更喜欢 postman 中的最后一种格式。提前致谢
【问题讨论】:
-
您的问题归结为:“我需要采用这个有效的 JSON 并将其设为 invalid JSON”所以我怀疑这并不是您真正想要做的。
-
另外:不管是什么产生的 JSON 几乎肯定是坏的,所以这就是我想要修复它的地方。 JSON 是有效的,但它定义的内容(具有单个属性的对象,其值为包含单个字符串的数组,它本身包含 JSON)几乎肯定不是它要定义的内容。
-
您的 JSON 中似乎有一个包含 JSON 的字符串。但是,您的预期输出是 broken JSON。为什么不把它变成
{"Data":[{"item1": "value1", "item2": "value2"}]}?例如。解码嵌入的 JSON 并用结果替换字符串。 -
它是有效的 JSON 字符串格式。如果你会做
json.loads,你会用"摆脱这些` \ `。您无需更改字符串中的任何内容