【问题标题】:Automatically add brackets to complete JSON file自动添加括号以完成 JSON 文件
【发布时间】:2020-06-06 23:24:51
【问题描述】:

我有一个 JSON 文件的前半部分。找出要附加的“缺失”括号(}] 的混合)以获得有效 JSON 的最简单方法是什么?

【问题讨论】:

    标签: json stack curly-braces


    【解决方案1】:

    这不是最优雅的解决方案,但我的 JSON 格式正确,所有括号都在行尾,除了逗号。我逐行读取文件,去掉逗号,然后从堆栈中推送/弹出,留下我需要关闭的左括号。

    stack = []
    
    with open("incomplete.json") as f:
        for line in f:
            try:
                line = line.strip()
                if line and line.endswith(","):
                    line = line[:-1]        
                c = line[-1]
                if c in ("{","["):
                    stack.append(c)
                elif c in ("}", "]"):
                    stack.pop()
            except Exception as e:
                pass
    
    print(stack)
    # >>> ['{', '{', '[', '{', '[']
    

    【讨论】:

      猜你喜欢
      • 2023-02-04
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多