使用Python将字符串变量更改为JSON
我正在使用python。我有一个名为“var”的变量,它有方括号,我想将其删除并将其更改为有效的JSON。有没有一个简单的方法可以做到这一点?我一直在努力,但还是不走运使用Python将字符串变量更改为JSON,python,json,Python,Json,我正在使用python。我有一个名为“var”的变量,它有方括号,我想将其删除并将其更改为有效的JSON。有没有一个简单的方法可以做到这一点?我一直在努力,但还是不走运 var = ''' [ [ "result 1" ], [ "result 2" ], [ "result 3" ], [ "result 4" ], [ "result 5" ],
var = '''
[
[
"result 1"
],
[
"result 2"
],
[
"result 3"
],
[
"result 4"
],
[
"result 5"
],
[
"result 6"
],
[
"result 7"
]
]
'''
目标结果
我试过的
var已经是有效的json,只需将列表数组转换为字典即可
import json
data = json.loads(var)
new_json = {}
# convert list to dictionary
for i in data:
new_json[i[0]] = i[0]
# create string as json
new_var = json.dumps(new_json)
print(new_var)
也许您想将类似json的对象转换为类似dict的对象。 您只是将其转换为字符串,而不是字典
import json
data = json.loads(var)
new_json = {}
# convert list to dictionary
for i in data:
new_json[i[0]] = i[0]
# create string as json
new_var = json.dumps(new_json)
print(new_var)
代码如下所示。
希望能帮助你
import json
var = '''
[
[
"result 1"
],
[
"result 2"
],
[
"result 3"
],
[
"result 4"
],
[
"result 5"
],
[
"result 6"
],
[
"result 7"
]
]
'''
def json_TO_dict(jsonlike_obj):
jsoned_obj=json.loads(jsonlike_obj)
json_dict={}
for content in jsoned_obj:
json_dict[content[0]]=content[0]
return json_dict
print(json_TO_dict(var))
结果如下所示
{
'result 1': 'result 1',
'result 2': 'result 2',
'result 3': 'result 3',
'result 4': 'result 4',
'result 5': 'result 5',
'result 6': 'result 6',
'result 7': 'result 7'
}
假设json_数据是您的json输入,请尝试以下操作:
op = json.loads(json_data)
print({x[0]: x[0] for x in op})
这是有效的JSON。您只需要将其从包含单个元素的数组的数组转换为对象。为此,请解析JSON,将数组转换为所需的对象结构(
{i[0]:i[0]表示已解析的_JSON}
)并再次对其进行JSON编码。@deceze我将尝试您的建议。谢谢你的评论。我一直在努力想办法
op = json.loads(json_data)
print({x[0]: x[0] for x in op})