[英]Repair json file without quotes using sed
如何使用sed或perl或任何shell腳本工具修復不帶引號的json文件? 那就是加回雙引號(例如“ glossary”)。 下面是示例json。 非常感謝!
{
glossary: {
title: "example glossary",
GlossDiv: {
title: "S",
GlossList: {
GlossEntry: {
ID: "SGML",
SortAs: "SGML",
GlossTerm: "Standard Generalized Markup Language",
Acronym: "SGML",
Abbrev: "ISO 8879:1986",
GlossDef: {
para: "A meta-markup language, used to create markup languages such as DocBook.",
GlossSeeAlso: ["GML", "XML"]
},
GlossSee: "markup"
}
}
}
}
}
這種快速而骯臟的單線適用於您的示例。 但是,您的json格式必須與輸入示例一樣“漂亮打印”。 屬性名稱也應遵循以下模式: [a-zA-Z_]+
sed -r 's/(\s*)([a-zA-Z_]+)/\1"\2"/' file
它輸出:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.