将String类型的Json字符串转化对象或对象数组
生活随笔
收集整理的這篇文章主要介紹了
将String类型的Json字符串转化对象或对象数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
方法一:jsckson的ObjectMapper類
String jsonString = “”;//json類型的字符串ObjectMapper mapper = new ObjectMapper();MyClass myClass = mapper.readValue(jsonString, MyClass.class);但是用此方法在類匹配屬性的時候,如果字符串里的某一個屬性和類的某一個屬性沒有對應上,可能會報錯:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field
此時有兩種解決方案:
解決方法1:ObjectMapper 對象添加
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
解決方法2:在需要轉化的對象的類中添加注解,注解信息如下:
@JsonIgnoreProperties(ignoreUnknown = true) public class MyClass{}方法二:fastjson的JSONObject類
轉對象:
String jsonString = “”;//json類型的字符串Myclass myclass = JSONObject.parseObject(jsonString,Myclass.class);轉數組:
String jsonString = “”;//json類型的字符串JSONArray jsonArray = JSONArray.parseArray(jsonString);for(int i=0; i<jsonArray.size(); i++) { JSONObject object = jsonArray.getJSONObject(i); SmartProejctEquipmentMap myclass = JSONObject.parseObject(object.toJSONString() , SmartProejctEquipmentMap.class);// 將string類型直接封裝成對象 }方法三:net.sf.json的JSONObject類
String jsonString = “”;//json類型的字符串JSONObject jsonobject = JSONObject.fromObject(jsonString);Myclass myclass = (MYclass)JSONObject.toBean(jsonobject,Myclass.class);總結
以上是生活随笔為你收集整理的将String类型的Json字符串转化对象或对象数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决springboot不扫描@repo
- 下一篇: spring创建复杂对象的三种方式