ハンソンは何者だ?

1888 ワード

ハンソンは現れない
Web開発をしているのは、JSONというものを多かれ少なかれ知っているはずです.私たちはよくJSONファイルを構成ファイルとして使用します.例えば、package.jsonbower.jsonです.しかしJSONには不快な点がたくさんあります.例えば、
  • 注釈をサポートしない(不快で受け入れられない)
  • 属性名は二重引用符で囲まなければならない(不快なのは許容できる)
  • の値が文字列の場合は二重引用符で囲まなければならず、単号(不快なものは許容できる)
  • は使用できません.
    違反すると、解析エラーを報告します.穴があいている.
    そのため、JSONで書けるプロファイルをjsファイルで書かなければならない場合があります.
    ハンソンが現れた後
    HanSON-JSON for Humans(人用JSON)
    まずHanSONの例を見てみましょう
    {
      listName: "Sesame Street Monsters", // note that listName needs no quotes
      content: [
        {
          name: "Cookie Monster",
          /* Note the template quotes and unescaped regular quotes in the next string */
          background: `Cookie Monster used to be a
    monster that ate everything, especially cookies.
    These days he is forced to eat "healthy" food.`
        }, {
          name: "Herry Monster",
          background: `Herry Monster is a furry blue monster with a purple nose.
    He's mostly retired today.`
        },    // don't worry, the trailing comma will be ignored
       ]
    }
    

    一見、JSONとの差も少ないです.しかし、内容に対する制限は少ない.ハンソンでは
  • 用jsの注釈:///* */
  • プロパティ名は、
  • を二重引用符で囲むことはできません.
  • 文字列は、単一引用符
  • で使用できます.
  • 複数行の文字列は、
  • のように``で囲むことができる.
    {
     background: `Herry Monster is a furry blue monster with a purple nose.
    He's mostly retired today.`
    }
    

    合法的なJSONは合法的なHanSONに違いない.
    ハンソンをJSONに変換するのも簡単です.コマンドラインツールhansonnpm install -g hansonを取り付けてhanson input.hson output.jsonを使用するとTabをtに変換し、車に戻って
    Gruntベースのプラグインgrunt-hanson-pluginもあります.複数行文字列の変換では、ツールは行の未改行文字を削除しないことがわかります.変換された結果、不正なJSONになった.
    詳細については、公式サイトを参照してください.
    HanSONでプロファイルを楽しく書きましょう~
    PS:最近またhJsonという東東を発見しました.ハンソンとあまり差がありません.ただし、複数行の文字列は3つの単一引用符で囲まれています.やはりこのような複数行の文字列を表す方法は直感に近い(PythonやrubyになるのはなおさらだろうXD).