java返回json带斜杠_SpringMVC返回的JSON带有斜杠json转换对象
例⼦,
JSON:
代码:
@RequestMapping(params = "xxx", method =RequestMethod.GET)
@ResponseBody
@ServiceLogpublic AjaxModel getParcelsByExpressCompanyWaybillNo(@RequestParam (value = "expressWaybillNos") String expressWaybillNosJson) throwsJsonParseException, JsonMappingException, IOException {
List expressWaybillNos = JacksonUtils.fromJson(expressWaybillNosJson, ArrayList.class, String.class);
List parcels =ParcelByExpressCompanyWaybillNos(expressWaybillNos);
System.out.Json(parcels));
AjaxModel model= new AjaxModel(true);
model.Json(parcels));
model.setMsg("获取包裹信息成功");returnmodel;
}
上⾯的例⼦,是⽣成的 JSON 作为字符串赋值到 model 对象的 data 字段,然后 Spring MVC 返回 model,把 model 序列化成JSON,Jackson 是这样处理的:把类型为字符串的 data 字段转化成字符串,也就是直接将其被双引号包裹,那么 data 的值也就是那段JSON 被双引号包裹,那么 JSON ⾥⾯的双引号就需要被转义,需要加上斜杠,;⽽如果客户端要把这个 model 对象序列化得到的 JSON 转换成 model 对象,那么应该是这样处理的,把 data 的值,也就是带有⼤量斜杠的字符串,赋值到⽬标的 model 对象的 data 字段,那么,只要如下,就能把字段 data 的值转化成 List 对象:
String test = adFileToString(new File("C:\\Users\\Administrator\\Desktop\\"));
AjaxModel model= JacksonUtils.fromJson(test, AjaxModel.class);
System.out.Data().toString());
List parcels = JacksonUtils.Data().toString(), List.class, Parcel.class);
System.out.(0).getAssBillNo());
test 对象的数据来源就是⼀个包含上述⽂本的 .txt ⽂件。
总的来说,就是 JSON 本⾝含有双引号或者其他需要转义的字符就会出现这种情况;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。