Javaのバックエンド処理内にて、JSONオブジェクトをプロパティ名も含めてゼロから作成するケースに遭遇した。
この場合、ObjectMapperクラスの「createObjectNode」メソッドを利用すると簡単に作れる。
備忘録のため以下にまとめておく。
createObjectNodeメソッド ・使い方
以下のように記述することで、プロパティ名を含めて自由にJSONオブジェクトを作成できる。
public class Main {
public static void main(String[] args) throws Exception {
// ObjectMapperをインスタンス化する.
// enableメソッドはJSONオブジェクトをコンソールで出力する際に改行を加えて見やすくする呪文.
// 改行の必要性が無い場合は記述を省けばOK.
ObjectMapper objectMapper = new ObjectMapper()
.enable(SerializationFeature.INDENT_OUTPUT);
// 「cerateObjectNode」メソッドで「ObjectNode」インスタンスを生成する.
ObjectNode objectNode = objectMapper.createObjectNode();
// 「put」メソッドでObjectNodeにプロパティ名と値を追加できる.
objectNode.put("id", 10);
objectNode.put("name", "ジョジョ");
// ObjectNodeをJSONオブジェクト(文字列)に変換する際は「writeValueAsString」メソッドを利用.
String jsonStr = null;
try {
jsonStr = objectMapper.writeValueAsString(objectNode);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
// JSON文字列を出力する.
System.out.println(jsonStr);
}
}