2016-08-08 2 views
1

jsonのシリアル化にfasterxml jacksonを使用しています。私は日付シリアライザをスプリングブートジャクソンのマッピングが機能しない

として書きましたが、呼び出されていません。しかし、他のジャクソンシリアライザは正常に動作しています。

だから私はapplication.yaml

spring: 
    jackson: 
    serialization-inclusion: non_null 
    date-format: dd.MM.yyyy 

に以下の構成を追加しました。しかし、それは仕事をdin't。

このコードをSpringBootConfigurationクラスに追加しました。

@Override 
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { 
    final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); 
    final ObjectMapper objectMapper = new ObjectMapper(); 
    SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT); 
    objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false).setDateFormat(dateFormat); 
    converter.setObjectMapper(objectMapper); 
    converters.add(converter); 
    super.configureMessageConverters(converters); 
} 

日付が正しくシリアル化されています。しかし、有効なJSON相当の文字列は、前述のようにJSONに変換されていません。here

@RestController 
public class SampleController { 

    @RequestMapping(value = "/jsonInfo", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) 
    public String jsonInfo() { 
     String string = "{\"name\": \"foo\"}" 
       return string; 
    } 
} 
+0

を試してみてください。だから問題がある1 –

+0

あなたはそれをどう思う? –

+0

のドキュメント1.4.0のドキュメントでは、プロパティベースの設定について話していません。しかし、1.4.1のドキュメントでは、@JsonComponentとプロパティベースの設定について話しました。 –

答えて

1

私は財産の基本構成は、春のブート1.4.1からサポートされていると思います。この

import com.fasterxml.jackson.databind.ObjectMapper; 

: 

@Autowired 
private ObjectMapper objectMapper; 

@RestController 
public class SampleController { 

    @RequestMapping(value = "/jsonInfo", method = RequestMethod.GET, produces = APPLICATION_JSON_VALUE) 
    public JsonNode jsonInfo() throws JsonProcessingException, IOException { 
     String string = "{\"name\": \"foo\"}" 
       return objectMapper.readTree(string); 
    } 
} 
+0

最後に感謝してくれました。しかし私はJsonformatでもやっていました。しかし、これはもっときれいに見えます。 –

関連する問題