zoukankan      html  css  js  c++  java
  • Jackson的ObjectMapper的简单用法及语法

    1.使用ObjectMapper要添加的依赖是

           <!--添加fastjson包-->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.9.8</version>
    

    2.对象转JSON字符串的方法

      List<RoomAddressDTO> roomAddressDTOS = costItemMonthUseDao.selectRoomAddressByCustomerName(param);
                    ObjectMapper objectMapper = new ObjectMapper();
                    String address = objectMapper.writeValueAsString(roomAddressDTOS);
    

    3.JSON转对象

    ObjectMapper objectMapper = new ObjectMapper();
    List<RoomAddressDTO> list = objectMapper.readValue(address, List.class);
    

    4.readTree()方法,此方法更灵活,可以只将用户感兴趣的Json串信息值提取出来。主要利用ObjectMapper提供的readTree和Jackson提供的JsonNode类来实现。

    String test="{"results":[{"objectID":357,"geoPoints":[{"x":504604.59802246094,"y":305569.9150390625}]},{"objectID":358,"geoPoints":[{"x":504602.2680053711,"y":305554.43603515625}]}]}";
    
    //此Json串比较复杂,包含了嵌套数组的形式,具有通用性。
    
    //2.2.2.2实现反序列化
    JsonNode node= objectMapper.readTree(test);      //将Json串以树状结构读入内存
    
    JsonNode contents=node.get("results");//得到results这个节点下的信息
    
    for(int i=0;i<contents.size();i++)  //遍历results下的信息,size()函数可以得节点所包含的的信息的个数,类似于数组的长度
    
    {
    
    System.out.println(contents.get(i).get("objectID").getIntValue()); //读取节点下的某个子节点的值
    
    JsonNode geoNumber=contents.get(i).get("geoPoints");
    
    for(int j=0;j<geoNumber.size();j++)     //循环遍历子节点下的信息
    
    {
    
    System.out.println(geoNumber.get(j).get("x").getDoubleValue()+"  "+geoNumber.get(j).get("y").getDoubleValue());
    
    }
    
    }
    
    
  • 相关阅读:
    Miller_Rabin
    无向图必经点、必经边的相关问题
    无向图的连通性与相关问题
    HNOI2012 矿场搭建 v-DCC缩点+分类讨论
    冗余路径 Redundant Paths e-DCC缩点
    poj1275 Cashier Employment 差分约束
    csp2019游记
    picxivic爬虫
    水贴自动机
    三维生命游戏
  • 原文地址:https://www.cnblogs.com/szls-666/p/12494224.html
Copyright © 2011-2022 走看看