zoukankan      html  css  js  c++  java
  • JacksonJson的使用

    JacksonJson是SpringMVC内置的json处理工具,其中有一个ObjectMapper类,可以方便的实现对json的处理:

    //对象转字符串
    // json处理工具
        private ObjectMapper mapper = new ObjectMapper();
        @Test
        public void testJson() throws JsonProcessingException {
            User user = new User();
            user.setId(8L);
            user.setAge(21);
            user.setName("柳岩");
            user.setUserName("liuyan");
            // 序列化
            String json = mapper.writeValueAsString(user);
            System.out.println("json = " + json);
        }
    // json 转普通对象
    //
    json处理工具 private ObjectMapper mapper = new ObjectMapper(); @Test public void testJson() throws IOException { User user = new User(); user.setId(8L); user.setAge(21); user.setName("柳岩"); user.setUserName("liuyan"); // 序列化 String json = mapper.writeValueAsString(user); // 反序列化,接收两个参数:json数据,反序列化的目标类字节码 User result = mapper.readValue(json, User.class); System.out.println("result = " + result); }
    //json转集合
    //
    json处理工具 private ObjectMapper mapper = new ObjectMapper(); @Test public void testJson() throws IOException { User user = new User(); user.setId(8L); user.setAge(21); user.setName("柳岩"); user.setUserName("liuyan"); // 序列化,得到对象集合的json字符串 String json = mapper.writeValueAsString(Arrays.asList(user, user)); // 反序列化,接收两个参数:json数据,反序列化的目标类字节码 利用mapper的工厂模式 List<User> users = mapper.readValue(json, mapper.getTypeFactory().constructCollectionType(List.class, User.class)); for (User u : users) { System.out.println("u = " + u); } }
    //json转任意复杂类型
    // 当对象泛型关系复杂时,就不能使用类型工厂,这个时候jackson
    //提供了TypeReference来接收类型泛型,然后底层通过反射来获取泛型
    //上的具体类型
    private ObjectMapper mapper = new ObjectMapper();
    @Test
    public void testJson() throws IOException {
        User user = new User();
        user.setId(8L);
        user.setAge(21);
        user.setName("柳岩");
        user.setUserName("liuyan");
    
        // 序列化,得到对象集合的json字符串
        String json = mapper.writeValueAsString(Arrays.asList(user, user));
    
        // 反序列化,接收两个参数:json数据,反序列化的目标类字节码
        List<User> users = mapper.readValue(json, new TypeReference<List<User>>(){});
        for (User u : users) {
            System.out.println("u = " + u);
        }
    }
  • 相关阅读:
    CNN comprehension
    Gradient Descent
    Various Optimization Algorithms For Training Neural Network
    gerrit workflow
    jenkins job配置脚本化
    Jenkins pipeline jobs隐式传参
    make words counter for image with the help of paddlehub model
    make words counter for image with the help of paddlehub model
    git push and gerrit code review
    image similarity
  • 原文地址:https://www.cnblogs.com/houchen/p/12051235.html
Copyright © 2011-2022 走看看