私は、グーグルGSONの代わりに、JSONジェネレーターとしてジャクソンを使い始めました。Jacksonがオブジェクトを生成しているという問題が発生しました。オブジェクトが実際にnullの場合はnullです。一方、GSONはJSONにNOエントリを生成します。これは、私が望む動作です。オブジェクトが欠落しているときにJacksonがnullオブジェクト/値を生成するのを防ぐ方法はありますか?
ジャクソン
ObjectMapper mapper = new ObjectMapper();
StringWriter sw = new StringWriter();
mapper.writeValue(sw, some_complex_object);
String jackson = sw.getBuffer().toString();
System.out.println("********************* START JACKSON JSON ****************************");
System.out.println(jackson);
System.out.println("********************* END JACKSON JSON ****************************");
これを生成します:
{"eatwithrustyspoon":{ "urlList":null、 "device": "iPad"、 "os": "iPhone OS"、 "peer_id":
GSONは次のようになります。
Gson gson = new Gson();
String json = gson.toJson(some_complex_object);
System.out.println("********************* START GSON JSON ****************************");
System.out.println(json);
System.out.println("********************* END GSON JSON ****************************");
そしてこれを生成します(これは私が欲しいものです- "urlList":nullが生成されなかったことに注意してください):
{"eatwithrustyspoon":{"device": "iPad"、 "os": "iPhone OS"、 "peer_id"