Sping ControlはJsonデータのシーケンス化を返します(複数のエスケープスラッシュの原因)
2987 ワード
注記@ResponseBodyを付けると文字列が返され、springプロファイルに出力オブジェクトを追加してJSONに解析する場合があることを知っています.
これで私たちが戻るときに文字列を手動でつづる必要がなくなり、次のように返すこともできます.
これにより、[{id:1,description:[desc記述],script:[1.2.3]},{id:2,description:[002],script:[1.2.4]},{id:4,description:[desc 1],{id:5,description:[desc 2],script:[scr 2]]]というJSON列も返される.
もしあなたが配置してからJSOnsStringに戻るならば:このようにすれば2回シーケンス化して、エスケープ文字を増やして多反スラッシュの形式になります.
だからこの2つの方法はどちらでもいいですが、どちらも使ってはいけません.
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonConverter" />
list>
property>
bean>
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes" value="application/json" />
bean>>
これで私たちが戻るときに文字列を手動でつづる必要がなくなり、次のように返すこともできます.
@RequestMapping(value = "/cmdb/listsoftwareenv", method = RequestMethod.GET)
@ResponseBody
public String doGetListSoftwareEnv() {
SoftwareEnv softwareEnv = new SoftwareEnv();
List list = softwareEnvService.getList(softwareEnv);
return JSON.toJSONString(list, SerializerFeature.WriteMapNullValue);
}
これにより、[{id:1,description:[desc記述],script:[1.2.3]},{id:2,description:[002],script:[1.2.4]},{id:4,description:[desc 1],{id:5,description:[desc 2],script:[scr 2]]]というJSON列も返される.
もしあなたが配置してからJSOnsStringに戻るならば:このようにすれば2回シーケンス化して、エスケープ文字を増やして多反スラッシュの形式になります.
だからこの2つの方法はどちらでもいいですが、どちらも使ってはいけません.