如何在json文件中将“”更改为“”[重复]

Posted

技术标签:

【中文标题】如何在json文件中将“”更改为“”[重复]【英文标题】:How to change ' ' to " " in json file [duplicate] 【发布时间】:2021-03-25 06:24:56 【问题描述】:

如何将 ' ' 更改为 " " ? 我需要使用来自 sqlalchemy 的数据编写 database.json

Data 是我的数据库的名称

all_data = Data.query.all()
data_schema = DataSchema(many=True)
output = data_schema.dump(all_data) 
OutputJson = jsonify('products':output)

while True:
    with open('database.json',"w") as file:
        file.write(str('products': output))
    
    with open('database.json',"r") as files:
        FinalOutput = files.read()

        return FinalOutput

但我的输出是这样的:

'products': [
    'id': 0,
     'name': 0,
     'price': 0,
     'quantity': 1
    
]

应该是这样的:


  "products": [
    
      "id": 1,
      "name": "Aspirina",
      "price": 100,
      "quantity": 1
    
  ]

【问题讨论】:

return 的功能在哪里? 使用json.dumpsjson.dump 生成JSON,而不是str 另外,无论jsonify 可能已经在做正确的事情。你实际上并没有在任何地方使用OutputJson 【参考方案1】:

修改这部分:

with open('database.json',"w") as file:
        file.write(str('products': output))

作为

import json
json_data = 
with open('database.json',"r") as file:
        json_data = json.load(file)
json_data['products'] = output
with open('database.json',"w+") as file:
        json.dump(json_data)

【讨论】:

为什么要读取以写入模式打开的文件,为什么第二次要以读写模式打开文件? @chepner 编辑,先读,再写 我修好了!! with open('mercadopygo/database.json', 'w', encoding='utf-8') as file: json.dump('products': output, file, indent=4) 谢谢大家 @nikhouldan 如果这是已接受的答案,如果您能将其标记为这样,将不胜感激!

以上是关于如何在json文件中将“”更改为“”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在tableview中将JSON字符串更改为日期格式

将数据从Json文件加载到Postgresql会导致:错误“重复键值违反唯一约束 - 已存在”。

如何在 XCode5 中将部署目标更改为 5.1.1 [重复]

在php中将日期格式更改为数字[重复]

在R [重复]中将日期更改为该月的第一天

如何在 JAVA 中将 JSON 和文件传递给 REST API?