我在request.body中得到一个值,就像:
a = '[data={"vehicle":"rti","action_time":"2015-04-21 14:18"}]'
type(a) == str
我想将此str
转换为dict
。我试过这样做
b=json.loads(a)
但是收到错误
ValueError: No JSON object could be decoded
答案 0 :(得分:2)
您收到的数据格式不正确JSON。在使用json模块转换它之前,您将不得不进行一些解析或数据转换。
如果你知道数据总是以文字字符串'[data='
开头并且总是以文字字符串']'
结尾,并且其余数据是有效的json,你可以简单地剥离有问题的人物:
b = json.loads(a[6:-1])
如果无法保证数据的格式正确,那么您必须了解实际格式是什么,并进行更智能的解析。
答案 1 :(得分:0)
它不是您收到的有效json格式。 有效格式为:
'{"data":{"vehicle":"rti","action_time":"2015-04-21 14:18"}}'
答案 2 :(得分:0)
import json
a = '[data={"vehicle":"rti","action_time":"2015-04-21 14:18"}]'
r = a.split("=")
r[:] = r[0].replace("[", ""), r[1].replace("]", "")
d = '{"%s":%s}'%(r[0],r[1])
dp = json.loads(d)
print dp