私は大きく複雑なレスポンスを与えるRetrofit2を使用してAPIを呼び出しています。これはうまくいきました。私がする必要があったのは、レスポンスを直列化してStringに変換し、それをactiveMQに入れたからです。それは次のように見えるようにジャクソンのないJSONにRetrofit2レスポンスをデシリアライズ
しかし、今私は2つ以上を追加したいと思いますJSONは複雑な応答に属性:
私はJSON(javax.jsonとしてレスポンスをデシリアライズするにはどうすればよい{ "event": "some event", "link": "some link", "details": {complicated response ...} }
.Json)ので、新しい属性を持つJsonObjectとして構築し、次にStringを作成できますか?
JacksonConverterFactoryは、この複雑なレスポンスをPOJOに適合させるため、私はそれをしたくありません!今はレスポンスの先頭に文字列を追加していますが、これは理想的な解決策ではありません。
JsonReader reader = Json.createReader(new StringReader(input));
JsonObject response = reader.readObject();
JsonObject queueMessage =
Json.createObjectBuilder()
.add("event", "some event")
.add("link", "some link")
.add("details", response)
.build();
ジャクソンを使用してに複雑な応答をデシリアライズするためにあなたを強制するものではありません別のアプローチを、:あなたの大規模かつ複雑な応答はあなたがおそらく次の操作を行うことができinput
という名前の文字列であると仮定すると
また、全体的に優れたソリューションがある場合は、それを聞いてみたいと思います! – Ella