java中用ObjectMapper類實(shí)現(xiàn)Json與bean的轉(zhuǎn)換示例
前言
ObjectMapper是jackson中的方法,本文主要給大家介紹了關(guān)于java中用ObjectMapper類實(shí)現(xiàn)Json與bean轉(zhuǎn)換的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
一、將json字符串轉(zhuǎn)為bean
public class JsonToJavaBean { public static void main(String[] args) { String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}"; Student stu = null; List list = null; try { ObjectMapper objectMapper=new ObjectMapper(); StudentList studentList=objectMapper.readValue(str,StudentList.class); list=studentList.getStudent(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } for(Student s:list){ System.out.println(s.getName()+" "+s.getAge()); } } }
或者
@Controller public class OrderController extends BaseController { @Autowired private ObjectMapper objectMapper1; @RequestMapping(value = "/order/searchOrderImportByItem") public ResponseData searchOrderImportByItem(@RequestParam("page") Integer page, @RequestParam("pagesize") Integer pagesize, HttpServletRequest request) { try { String formData = request.getParameter("formData"); OrderQueryRequest orderQueryRequest = null; if (StringUtils.isNotBlank(formData)) { objectMapper1.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm")); orderQueryRequest = objectMapper1.readValue(formData, OrderQueryRequest.class); } else { return null; } PageHelper.startPage(page, pagesize); List<OrderQueryRequest> list = orderService.searchOrderImportByItem(orderQueryRequest); return new ResponseData(list); } catch (Exception e) { e.printStackTrace(); } return null; } }
二、將bean轉(zhuǎn)為json
public static void main(String[] args) { ArrayList list=new ArrayList(); Student s1=new Student(); s1.setName("leilei"); s1.setAge(23); Student s2=new Student(); s2.setName("leilei02"); s2.setAge(23); list.add(s1); list.add(s2); StringWriter str=new StringWriter(); ObjectMapper objectMapper=new ObjectMapper(); try { objectMapper.writeValue(str, list); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(str); }
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
SpringBoot整合RabbitMQ處理死信隊(duì)列和延遲隊(duì)列
這篇文章將通過(guò)示例為大家詳細(xì)介紹SpringBoot整合RabbitMQ時(shí)如何處理死信隊(duì)列和延遲隊(duì)列,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-05-05SpringCloud?Feign請(qǐng)求頭刪除修改的操作代碼
這篇文章主要介紹了SpringCloud?Feign請(qǐng)求頭刪除修改,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03MybatisPlus逆向工程的項(xiàng)目實(shí)踐
Mybatis-Plus逆向工程,是MP官方提供的一款代碼生成器,可以自動(dòng)生成對(duì)應(yīng)的實(shí)體類、Mapper接口和配置文件,,本文主要介紹了MybatisPlus逆向工程的項(xiàng)目實(shí)踐,感興趣的可以了解一下2024-03-03springboot接口參數(shù)校驗(yàn)JSR303的實(shí)現(xiàn)
本文主要介紹了springboot接口參數(shù)校驗(yàn)JSR303的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08