Python需要用(大括号和逗号)替换大括号

我有一个包含数十万行的 JSON 响应,所有这些都从字典 python 解析并使用 json.load 转换为 JSON


现在获取无效响应的 JSON 响应,因此解决方法如下


回复


{

    "ComplianceType": "",

    "Details": {

        "InstalledTime": "",

        "PatchBaselineId": "",

        "PatchState": ""

    },

    "ExecutionSummary": {

        "ExecutionId": "",

        "ExecutionTime": "",

        "ExecutionType": ""

    },

    "Id": "",

    "ResourceId": "",

    "ResourceType": "",

    "Severity": "",

    "Status": "",

    "Title": ""

}

{

    "ComplianceType": "",

    "Details": {

        "InstalledTime": "",

        "PatchBaselineId": "",

        "PatchState": ""

    },

    "ExecutionSummary": {

        "ExecutionId": "",

        "ExecutionTime": "",

        "ExecutionType": ""

    },

    "Id": "",

    "ResourceId": "",

    "ResourceType": "",

    "Severity": "",

    "Status": "",

    "Title": ""

}


变通使其有效


[{

    "ComplianceType": "",

    "Details": {

        "InstalledTime": "",

        "PatchBaselineId": "",

        "PatchState": ""

    },

    "ExecutionSummary": {

        "ExecutionId": "",

        "ExecutionTime": "",

        "ExecutionType": ""

    },

    "Id": "",

    "ResourceId": "",

    "ResourceType": "",

    "Severity": "",

    "Status": "",

    "Title": ""

},

{

    "ComplianceType": "",

    "Details": {

        "InstalledTime": "",

        "PatchBaselineId": "",

        "PatchState": ""

    },

    "ExecutionSummary": {

        "ExecutionId": "",

        "ExecutionTime": "",

        "ExecutionType": ""

    },

    "Id": "",

    "ResourceId": "",

    "ResourceType": "",

    "Severity": "",

    "Status": "",

    "Title": ""

}

]

这些我需要通过程序完成,当我尝试使用 sed shell --> #sed -i 's#}#},#' test.json <-- 。此 shell 命令替换 }, in }, 并返回为 },,


慕的地8271018
浏览 188回答 1
1回答

慕森卡

根据您的样本输入,这可能对您有用:$&nbsp;cat&nbsp;input.json&nbsp;\ &nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;grep&nbsp;-v&nbsp;-e&nbsp;'^[[:space:]]*$'&nbsp;\ &nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;sed&nbsp;-e&nbsp;'1s/^/[/'&nbsp;&nbsp;&nbsp;\ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'$s/$/]/'&nbsp;&nbsp;&nbsp;\ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-e&nbsp;'s/^}$/},/'grep消除任何空行(如果存在)。这很重要,因为下面sed需要对最后一个非空行进行操作。第一个sed表达式将添加[到第一行的开头第二个sed表达式将添加]到最后一行的末尾最后的表达式在任何单独一行sed的后面添加一个逗号}通过在第三个之前应用第二sed个,最后一个变得}不再单独在一条线上。}]}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python