VEMI Tech Ripples

Small drops of code, making waves.

コメント付きJSON(Jsonc)に対応する、Jackson ObjectMapper「JsoncMapper」をリリースしました。

コメント付きJsonである 「Jsonc」 (Json with Comments) 、一部のJSON5形式に対応する、Jackson ObjectMapper「JsoncMapper」をリリースしました。

以下のようなコメント付きJsonを、Mapまたはモデルに変換します。

/* 送信データA */
{
  "companyCode": "VEMIC", // 会社コード
  "data": {
    "items": [
      "Sample1", // さんぷる1
      "Sample2", // さんぷる2
      "Sample3" // さんぷる3
    ]
  }
}

サンプルコード:

import jp.vemi.jsoncmapper.JsoncMapper;
import com.fasterxml.jackson.core.JsonProcessingException;

public class Example {
    public static void main(String[] args) {
        String jsonWithComments = "/* This is a comment */ { \"key\": \"value\" }";
        JsoncMapper mapper = new JsoncMapper();
        
        try {
            MyClass obj = mapper.readValue(jsonWithComments, MyClass.class); // MapとかListとかでも可
            System.out.println(obj);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
    }
}

シンプルにコメントをそぎ落として、オブジェクトにマッピングしているだけです。

jackson-databind ライブラリを使用しているプロジェクトであれば、どこでも利用可能です。
利用するためには、以下のリリースページから jackson-databind-jsonc-1.0.0.jar をダウンロードし、クラスパスに追加してください。
2025年10月 追記:jarファイル形式 に加え、 Maven Central への公開が完了しました。
使用するためには以下を参照してください。

github.com

次のバージョン(v1.1.0)では、後方互換を保ちつつ、JSON5へのオプショナル対応をさらに拡充予定です。