从 json 文件中删除方括号
Remove square brackets from json file
我有一个 json 文件,其结构如下:
[{"date_value": "2021-04-01", "boolean_value": false, "string_value": "Any string value", "integer_value": 0}]
我需要用新数据编辑每个元素,但我在最终 json 文件中得到了错误且不同的结果。
为此,我使用以下代码:
date_value = date.today()
boolean_value = False
string_value = 'Any string value'
integer_value = 0
...以及编辑 json 文件:
with open(file_name, 'rb') as f:
mydata = f.read()
f.close()
json_object = json.loads(mydata)
json_object['date_value'] = date_value
json_object['boolean_value'] = boolean_value
json_object['string_value'] = string_value
json_object['integer_value'] = integer_value
with open(file_name, 'w') as outfile:
json.dump(json_object, outfile)
我的问题是,当我打开新的 json 文件时,每个值的格式都不同。
最终文件格式为:
[{"date_value": ['2021-04-01'], "boolean_value": [False], "string_value": ['Any string value'], "integer_value": [0]}]
每个项目值都有方括号。
没有这个括号我怎么写这个值?
非常感谢
编辑:
感谢@sadik 我已经解决了这个问题。
在原始代码中,我在传递给 json_object:
的每个值的末尾使用了“逗号”
错误代码:
json_object['date_value'] = date_value,
json_object['boolean_value'] = boolean_value,
json_object['string_value'] = string_value,
json_object['integer_value'] = integer_value,
正确代码:
json_object['date_value'] = date_value
json_object['boolean_value'] = boolean_value
json_object['string_value'] = string_value
json_object['integer_value'] = integer_value
根据评论中的讨论,问题是原始代码在传递给 json_object 的每个值的末尾都使用了逗号:
错误代码:
json_object['date_value'] = date_value,
json_object['boolean_value'] = boolean_value,
json_object['string_value'] = string_value,
json_object['integer_value'] = integer_value,
正确代码:
json_object['date_value'] = date_value
json_object['boolean_value'] = boolean_value
json_object['string_value'] = string_value
json_object['integer_value'] = integer_value
Python 将带逗号的值解释为包含一项的元组,然后在写成 JSON.
时转换为列表
我有一个 json 文件,其结构如下:
[{"date_value": "2021-04-01", "boolean_value": false, "string_value": "Any string value", "integer_value": 0}]
我需要用新数据编辑每个元素,但我在最终 json 文件中得到了错误且不同的结果。
为此,我使用以下代码:
date_value = date.today()
boolean_value = False
string_value = 'Any string value'
integer_value = 0
...以及编辑 json 文件:
with open(file_name, 'rb') as f:
mydata = f.read()
f.close()
json_object = json.loads(mydata)
json_object['date_value'] = date_value
json_object['boolean_value'] = boolean_value
json_object['string_value'] = string_value
json_object['integer_value'] = integer_value
with open(file_name, 'w') as outfile:
json.dump(json_object, outfile)
我的问题是,当我打开新的 json 文件时,每个值的格式都不同。
最终文件格式为:
[{"date_value": ['2021-04-01'], "boolean_value": [False], "string_value": ['Any string value'], "integer_value": [0]}]
每个项目值都有方括号。 没有这个括号我怎么写这个值?
非常感谢
编辑: 感谢@sadik 我已经解决了这个问题。 在原始代码中,我在传递给 json_object:
的每个值的末尾使用了“逗号”错误代码:
json_object['date_value'] = date_value,
json_object['boolean_value'] = boolean_value,
json_object['string_value'] = string_value,
json_object['integer_value'] = integer_value,
正确代码:
json_object['date_value'] = date_value
json_object['boolean_value'] = boolean_value
json_object['string_value'] = string_value
json_object['integer_value'] = integer_value
根据评论中的讨论,问题是原始代码在传递给 json_object 的每个值的末尾都使用了逗号:
错误代码:
json_object['date_value'] = date_value,
json_object['boolean_value'] = boolean_value,
json_object['string_value'] = string_value,
json_object['integer_value'] = integer_value,
正确代码:
json_object['date_value'] = date_value
json_object['boolean_value'] = boolean_value
json_object['string_value'] = string_value
json_object['integer_value'] = integer_value
Python 将带逗号的值解释为包含一项的元组,然后在写成 JSON.
时转换为列表