JSONオブジェクトを作成するのにJacksonライブラリを使用していますが、mapper.writeValue(System.out、responseData)関数を使用すると、プログラムは終了します。JavaプログラムがObjectMapper.writeValue(System.out、responseData)の後で終了する - Jackson Library
これが実行されると、コンソールに{"id":1}が表示されますが、 "done"は表示されません。
JSONオブジェクトを作成するのにJacksonライブラリを使用していますが、mapper.writeValue(System.out、responseData)関数を使用すると、プログラムは終了します。JavaプログラムがObjectMapper.writeValue(System.out、responseData)の後で終了する - Jackson Library
これが実行されると、コンソールに{"id":1}が表示されますが、 "done"は表示されません。
ObjectMapper._configAndWriteValueがPrintStream.close()を呼び出すUtfGenerator.close()を呼び出すため、問題はJacksonの実装にあります。
私はあなたが次の操作を行うことができます閉じているターゲットのデフォルトの動作を変更するにはhttps://jira.codehaus.org/browse/JACKSON
で問題をログに記録したい:
mapper.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
データファイル/ゲッターファイルで変数名を宣言しますが、最初の文字は小さいはずです。
これは本当に質問に答えません。別の質問がある場合は、[Ask Question](http://stackoverflow.com/questions/ask)をクリックして質問することができます。十分な[評判](http://stackoverflow.com/help/)があれば、[賞金を追加](http://stackoverflow.com/help/privileges/set-bounties)でもこの質問にもっと注意を引くことができます。何が評判か)。 –
@JRichardSnape - 私は同意しません。最初の文と署名は必要ですが、問題は変数が大文字と小文字を区別していることに起因します。答えは間違っているかもしれませんが、それでも質問に答えようとします。 – SomethingDark
@SomethingDark十分な公正 - 私はあなたの編集を参照してください。私はここに答えを出そうとしていると思います。おそらく私はレビューキューでちょっと指さしていたかもしれません。 –
これはバグではありません。それは特長です。高レベルのObjectMapper.writeValue()メソッドを使用すると、OutputStreamは実際には閉じられています。しかし、実際の問題の良い説明。 動作が望ましくない場合、ObjectMapperでその機能( 'JsonGenerator.Feature.AUTO_CLOSE_TARGET')を無効にすることができます:' mapper.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET) ' – StaxMan
無効メソッドのもう一つのオーバーロードされたバージョンが便利であるようです。現在、JsonGenerator.Featureを取るものはありません。 –
ええ、 'mapper.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET、false)'があるはずですが、もしそれが欠けていれば便利なメソッドを追加するべきです。 – StaxMan