在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
'[data='
开头,并以文本字符串']'
结尾,并且其余部分是有效的JSON格式,则可以简单地去掉问题字符:b = json.loads(a[6:-1])
如果数据不能保证完全符合该格式,您将需要了解实际格式,并进行更智能的解析。
您收到的不是一个有效的 JSON 格式。 有效的格式应该是:
'{"data":{"vehicle":"rti","action_time":"2015-04-21 14:18"}}'
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
data=...
是无效语法。 - JBernardo