首先舉個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武林網的支持。
新聞熱點
疑難解答
圖片精選