如何在 JSON 对象末尾添加 ("," , "[" , "]") 等字符

2024-03-04

我有一个 Python 脚本,它生成一个包含无效 JSON 的文件。 现在我想操作这个 JSON 文件,使其成为有效的 JSON 文件,方法是在每个对象之间添加一个逗号,在文件的开头添加一个“[”,在结尾添加一个“]”。 有没有办法单独使用 JSON 来实现这一点,还是我必须找到一种使用其他读写函数的方法?

Exsample_File.json:

    {
    "firstName": "Bidhan",
    "lastName": "Chatterjee",
    "age": 40,
    "email":"[email protected] /cdn-cgi/l/email-protection"
    }
    {
    "firstName": "hanbid",
    "lastName": "jeeChatter",
    "age": 10,
    "email":"[email protected] /cdn-cgi/l/email-protection"
    }
     .... 
    n times

新文件.json:

    [
    {
    "firstName": "Bidhan",
    "lastName": "Chatterjee",
    "age": 40,
    "email":"[email protected] /cdn-cgi/l/email-protection"
    },
    {
    "firstName": "hanbid",
    "lastName": "jeeChatter",
    "age": 10,
    "email":"[email protected] /cdn-cgi/l/email-protection"
    },
     .... 
    n times
    ]

这是生成 JSON 文件的函数。我不想触及生成字符串的其他代码。

data = json.loads(str)
    with open('Example_File.json','ab')as outfile:
        json.dump(data, outfile, indent=2)

到目前为止我还没有解决这个问题的想法。所以没有可以提供帮助的代码示例。

结果应该类似于新文件


您可能必须以字符串形式读取内容,对其进行操作并以 JSON 形式加载。像这样的事情,

import json

with open('Example.json','r') as f:
  data = f.read()

data = "[" + data.replace("}", "},", data.count("}")-1) + "]"
json_data = json.loads(data)

您的数据似乎有以 0 开头的数字,因此您可能会遇到异常“ValueError”。您可以参考如何处理该问题如果整数以 0 开头,为什么 JSON 无效 https://stackoverflow.com/questions/27361565/why-is-json-invalid-if-an-integer-begins-with-0

注意:我手动从“Example.json”中删除了 0

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JSON 对象末尾添加 ("," , "[" , "]") 等字符 的相关文章

随机推荐