首先舉個fastJson和jackson轉json的例子,然后對比兩種的區別
例子1:
{ "statusCode": 800, "returnObj": { "hzOrderId": 14, "orderId": 2015111311521900000, "orderSendPlanId": 67 }}1、jackson-ObjectMapper轉json
上面是一個json字符串,有兩層,一層是最外面的,一層是returnObj
這種方式轉換json,特點是兼容性高,對于部分特殊字符也能轉換成功。 而且:轉換的時候是逐級轉換,也就是說,無論你json字符串有多少層次,他都會轉換成Object或者Map
上面的轉換結果:returnObj里面也會被轉成Map
2、fastJson轉換,這里就簡單寫一個轉換
rest= JSON.parseObject(result, JsonRESTResult.class);HZorder hz = JsonUtils.fromJson(rest.getReturnObj().toString(), HZorder.class);
這種方式轉換,特點:簡單明了,但是對于部分特殊字符無法轉換(比如html標簽+文件特殊符號),還有個特點:他是直接轉換的,而不是逐層轉換。也就是說,針對例子1的json字符串,只會轉換最外層為Object, 至于returnObj, 仍然還是json字符串,而不會轉換成Map。當你需要直接用的時候,還需要繼續轉換一次
兩種方法各有千秋,可根據適用場景來決定用哪種,也可以兩種合用
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答
圖片精選