类型错误:。。。通过Python向对象添加新值时不是JSON可序列化错误
我有这样一个json对象:类型错误:。。。通过Python向对象添加新值时不是JSON可序列化错误,python,json,serialization,Python,Json,Serialization,我有这样一个json对象: { "people":[ {"firstName":"Hasan Sait", "lastName":"Arslan", "email":"hasan.sait.arslan@gmail.com"}] } 我想通过python向这个json对象添加新值,如下所示: import json with open('data.json', 'r+') as json_file: json_data = json.load(jso
{
"people":[
{"firstName":"Hasan Sait", "lastName":"Arslan", "email":"hasan.sait.arslan@gmail.com"}]
}
我想通过python向这个json对象添加新值,如下所示:
import json
with open('data.json', 'r+') as json_file:
json_data = json.load(json_file)
people = json_data['people']
people.append({"firstName":"Mehmet"})
json_file.seek(0, 0)
json.dump(json_file, json_data)
json_file.truncate()
我得到以下错误:TypeError:JSON不可序列化
在stackoverflow中,有一些类似于我之前提出的问题,但我无法从中找到任何有益的解决方案
你能告诉我哪里错了吗?json.dumps不会写入流,它只是获取对象并返回json序列化字符串。然后可以将其保存到文件中
import json
with open('data.json', 'r+') as json_file:
json_data = json.load(json_file)
people = json_data['people']
people.append({"firstName":"Mehmet"})
json_file.seek(0, 0)
jsonString = json.dumps(json_data)
json_file.write(jsonString)
json_file.truncate()
您刚刚将json_文件和json_数据的顺序搞错了,因此它告诉您不能将filepointer用作json。使用json.dump时,对象是第一个,文件指针是第二个。您的
json
无效<代码>“电子邮件”:“hasan.sait。arslan@gmail.com“]}此部分应为“电子邮件”:“hasan.sait”。arslan@gmail.com“}]
谢谢。问题不是这样。这只是我写问题时犯的一个打字错误。