JSON変換クラス

仕事で、Commons CollectionsのMultiKeyをキーにしたMapビューをJSON形式の文字列表現に変換するクラスを書いている。格納されているデータは3階層になっていて、その上に階層ごとに名称が関連付けられている。

例えば以下のようなデータを変換する:

変換後:

{category: [
  {id: "1", name: "OS", sub: [
    {id: "1", name: "Windows", detail: [
      {id: "1", name: "Windows 2000"},
      {id: "2", name: "Windows XP"}
    ]},
    {id: "2", name: "Linux", detail: [
      {id: "1", name: "Red Hat"},
      {id: "2", name: "Debian"}
    ]}
  ]}
]}

さすがにweb上に存在するライブラリでは対応できないのでいちいちマッピングして文字列を組み立てる処理を記述。面倒くさい…。