2016-11-08 7 views
0

sedまたはperlなどのシェルスクリプトツールを使用してjsonファイルを引用符なしで修復するにはどうすればよいですか?つまり、二重引用符(例:「用語集」)を追加し直すことです。以下はサンプルjsonです。どうもありがとう!sedを使用して引用符なしの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" 
       } 
      } 
     } 
    } 
} 
+0

明快それは私の場合には完璧に動作 – Sundeep

答えて

0

このクイックで汚れたワンライナーは、あなたの例として機能します。しかし、あなたの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" 
       } 
      } 
     } 
    } 
} 
+0

ために期待される出力を追加してください。私の命を救ってくれてありがとう –

関連する問題