Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将字符串变量更改为JSON_Python_Json - Fatal编程技术网

使用Python将字符串变量更改为JSON

使用Python将字符串变量更改为JSON,python,json,Python,Json,我正在使用python。我有一个名为“var”的变量,它有方括号,我想将其删除并将其更改为有效的JSON。有没有一个简单的方法可以做到这一点?我一直在努力,但还是不走运 var = ''' [ [ "result 1" ], [ "result 2" ], [ "result 3" ], [ "result 4" ], [ "result 5" ],

我正在使用python。我有一个名为“var”的变量,它有方括号,我想将其删除并将其更改为有效的JSON。有没有一个简单的方法可以做到这一点?我一直在努力,但还是不走运

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})