首页 > 解决方案 > 如何在无效 JSON 文档中用引号将特定键的值括起来

问题描述

我希望能够在无效的 JSON 文件中用引号将特定键值的所有实例括起来。

例如,如果我有以下任一情况:

{
"Hour": 09
"Bla" : 2400
"Bleh" : "09"
}

or
{
"hour": 07
"Bla" : 2400
"Bleh" : "09"
}

我想

{
"Hour": "09"
"Bla" : 2400
"Bleh" : "09"
}

or
{
"hour": "07"
"Bla" : 2400
"Bleh" : "09"
} 

我这样做的原因是我可以将此文件加载到 python 程序中并使用它;但是,09 被认为是无效的 json,无法使用 python 的 json 模块读取。

谢谢

标签: python-2.7sed

解决方案


如果您的数据在“d”中,则由 gnu sed

 sed -E '/\{/ {n;s/^("\w+":\s*)(\S+)/\1"\2"/}' d

推荐阅读