I have a json file with the following structure:
[{"date_value": "2021-04-01", "boolean_value": false, "string_value": "Any string value", "integer_value": 0}]
I need to edit every element with new data but I having a wrong and different result on the final json file.
For this, I am using the following code:
date_value = date.today()
boolean_value = False
string_value = 'Any string value'
integer_value = 0
...and for editing the json file:
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)
My problem is, when I open the new json file, I have a different format on every value.
The final file format is:
[{"date_value": ['2021-04-01'], "boolean_value": [False], "string_value": ['Any string value'], "integer_value": [0]}]
Every item value have square brackets on it. How can I write this values without this brackets?
Thank you very much
EDIT: Thanks to @sadik I have solved the problem. On the original code I was using "commas" at the end of every value passed to json_object:
Wrong code:
json_object['date_value'] = date_value,
json_object['boolean_value'] = boolean_value,
json_object['string_value'] = string_value,
json_object['integer_value'] = integer_value,
Correct code:
json_object['date_value'] = date_value
json_object['boolean_value'] = boolean_value
json_object['string_value'] = string_value
json_object['integer_value'] = integer_value