Python 如何在从json加载时将字符串转换为列表
下面是Json。从json加载后,我需要转换为list。我得到的是strPython 如何在从json加载时将字符串转换为列表,python,json,Python,Json,下面是Json。从json加载后,我需要转换为list。我得到的是str { "1": { "Data (L)": "[ { \"S\" : \"168\" }]" }, "2": { "Data (L)": "[ { \"S\" : \"169\" }]" }
{
"1": {
"Data (L)": "[ { \"S\" : \"168\" }]"
},
"2": {
"Data (L)": "[ { \"S\" : \"169\" }]"
}
}
代码
我的pfl类型是
,其中l
的输出是[{“S”:“168”}]
预料之外
打印类型(l)必须是列表而不是str,我假设您有双编码的json。只需对第二个字典的值调用另一个
json.loads()
:
import json
json_text = r'''{
"1": {
"Data (L)": "[ { \"S\" : \"168\" }]"
},
"2": {
"Data (L)": "[ { \"S\" : \"169\" }]"
}
}'''
data = json.loads(json_text)
for k, v in data.items():
for kk, vv in v.items():
vv = json.loads(vv)
print(type(vv))
print(vv)
印刷品:
<class 'list'>
[{'S': '168'}]
<class 'list'>
[{'S': '169'}]
[{'S':'168'}]
[{'S':'169'}]
这不是推荐的方法!
以这种方式使用功能是不安全的。看见(感谢您的支持!)
相反,可以使用。看见(感谢您的支持!)
下面的初始答案 您可以使用内置函数,如下所示:
s=“[{\'s\':\'168\'}”
t=评估值(s)
打印(t)
印刷品(t型)
打印(t[0])
打印(类型(t[0]))
哪张照片
[{'S':'168}]
{S':'168'}
您可以编辑您的问题并将预期结果放在那里吗?好的,但是为什么您的json包含这些奇怪的字符串,而不是您想要的结构化数据?请不要为此推荐eval
。它不安全。@KarlKnechtel谢谢您的评论!我不自豪地说,但我不知道。相反,更好的选择是
<class 'list'>
[{'S': '168'}]
<class 'list'>
[{'S': '169'}]