我想将字符串列表转换为字典列表

I want to convert a list of strings to a list of dictionaries

我将 Twitter 数据作为 json 存储到 mysql 数据库。当我取回它时,它 return 是一个字符串列表而不是字典列表。我正在寻找一种将其转换为字典列表的方法。这是我取回存储数据的格式。 "tweetdata" 是数据库中的列名

[{"tweetdata":"[{\"text\":\"b  problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for 
Android\",\"Likes\":0,\"RTs\":0},}]"}]

我希望它成为 return 像这样的列名被删除的字典列表

[{\"text\":\"b  problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for 
Android\",\"Likes\":0,\"RTs\":0},}]

试试这个:

如果您的数据在 tweetdata 变量中,则 tweetdata[0]["tweetdata"] 它会 return 像这样:

[{\"text\":\"b  problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for Android\",\"Likes\":0,\"RTs\":0},}]

实际上你可以这样做:

data = [{"tweetdata":"[{\"text\":\"b  problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for Android\",\"Likes\":0,\"RTs\":0},}]"}][0]["tweetdata"]

并打印 data 你会得到相同的结果。

首先,您提供的 json 格式似乎有误。如果您有正确的 json 格式,那么您可以使用 json loads 函数加载 json 数据并将其转换为字典类型。这是 python.

中的代码片段
import json
json_data = '[{"tweetdata":[{\"text\":\"b  problem\",\"len\":10,\"Date\":1583160242000,\"Source\":\"Twitter for Android\",\"Likes\":0,\"RTs\":0}]}]'
parsed_json = json.loads(json_data)
parsed_dict = parsed_json[0]['tweetdata'][0]
print(type(parsed_dict))
for item in parsed_dict.items():
    print(item)

上面的代码片段将打印这些。

<class 'dict'>
('text', 'b  problem')
('len', 10)
('Date', 1583160242000)
('Source', 'Twitter for Android')
('Likes', 0)
('RTs', 0)