我如何整理我的 JSON 以减少间隙和减小文件大小?

How can I tidy up my JSON to reduce gaps and decrease file size?

我正在写一个带有可变数据的 JSON,目前它太长了,像几十万行。我认为如果我可以消除间隙,可以显着减小文件大小...

目前我写信给我的 json 就像这样

for num in num_list:
                datalog['build'].append({
                    'Number': num,
                    'Code' : L 
                })
                json.dump(datalog, outfile, indent=4, sort_keys=False, ensure_ascii=False, separators=(',', ':'))

我如何编辑上面的 json.dump 以从这里开始;

{
    "build":[
        {
            "Num":"XXXXXXXXXXXXXXXXX",
            "Code":[
                {
                    "text":"0515: xxx"
                },
                {
                    "text":""
                },
                {
                    "text":""
                },
                {
                    "text":""
                },

到此;

{
    "build":[
        {
            "Num":"XXXXXXXXXXXXXXXXX",
            "Code":[{"text":"0515: xxx"},{"text":""},{"text":""},{"text":""},

使用 python json 默认模块,您无法选择保留或删除哪个间隙。您可以放置​​ indent=0,这将删除所有间隙并减小文件大小,但会让人无法阅读。

如果与另一种语言的互操作性不是问题,您可以使用 pickle or mashall

因为 'Code' 是一个只有 1 个条目的字典列表,所以它可以简化为一个字符串列表。

 "Code":[{"text":"0515: xxx"},{"text":""},{"text":""},{"text":""}]

可以转换为:

 "Code":["0515: xxx","","",""]