2016-07-01 6 views
0

現在、私はその結果から除外したいと思うJSONの結果(約1000+を話している)の中でのヌル値を多く持っています。json結果(春)のヌル値を防止する

私は多くのことを検索し、これについての質問/回答の多くを見つけましたが、私の状況のた​​めに何かを見つけることができなかったしました:

  • 私は春の4.0.1を使用して2.4をfasterxml.jacksonよ0.2
  • 私はそれによって影響を受けるエンドポイントがたくさんあるので、私は単純に、春-MVC ObjectMapperをオーバーライドすることはできません
  • 私のドメイン・モデルが自動で春のブートを使用していないよ外部のXMLファイルから生成されるので、 「Tだから基本的に私は、次のいずれかを実行したいと思い、そのドメインモデルへ

を注釈を追加:

  • 自動生成されたドメインクラスの注釈の同等のものを追加します。(例えば、パッケージ構造か何か)春はある特定のコントローラに使用する
  • 上書きObjectMapperに設定し、objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

は、これを達成するためにどのような方法があります追加するには?

ありがとうございます!

答えて

0

私はコントローラ用に独自のobjectMapperを実装することで問題を解決しました。 webservicesはオブジェクトまたはリストの代わりに文字列を返さなければなりません

private ObjectMapper objectMapper; 

@PostConstruct 
private void configureObjectMapper() { 
    objectMapper = new ObjectMapper(); 
    objectMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY); 
} 

@RequestMapping(...) 
@ResponseBody 
public String getSomething(...) { 
    try { 
     return objectMapper.writeValueAsString(getSomething()); 
    } catch (JsonProcessingException e) { 
     LOG.error("Could not serialize to JSON", e); 
    } 
    return null; 
} 
関連する問題