簡體   English   中英

在python中將json字符串轉換為dict

[英]converting json string to dict in python

我在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

您接收到的數據格式不正確。 您必須先進行一些解析或數據轉換,然后才能使用json模塊進行轉換。

如果您知道數據始終以文字字符串'[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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM