Json使用,各对象与json相互转换

Json:一种网络通信使用的数据格式,因为便于解析,比较流行,对象可以转为json,同样json也可以转对象。

下面介绍下Json工具的简单使用。

FastJson

  阿里的开源json工具包,国内比较流行,用的较多。

  对象转json字符串

    JSON.toJSONString(user);

  对象转json对象

    (JSONObject)JSON.toJSON(user);

  json字符串转对象

    JSON.parseObject(jsonString, User.class);  

  json对象转对象 

  User javaObject = JSON.toJavaObject(jsonObject, User.class);

    

  完整示例代码(需要引入fastjson的jar包):

  

package test;//JsonTest.java 文件所在位置:test包

import java.util.ArrayList;
import java.util.List;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;


public class JsonTest {

    private int num1 = 10;
    private static int num2 = 20;
    private static final int num3 = 30;
    private static int bnum4 = 40;

    //User 类
    static class User{
        private Integer age;
        private String name;
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        @Override
        public String toString() {
            return "User [age=" + age + ", name=" + name + "]";
        }
        
    }
    
    public static void main(String[] args) {
        // new 一个User对象
        User user = new User();
        user.setAge(1);
        user.setName("xiaojun");
        
        //对象转json字符串
        String jsonString = JSON.toJSONString(user);
        System.out.println("对象转json字符串:\t" + jsonString);
        //对象转json对象
        user.setAge(2);
        JSONObject jsonObject = (JSONObject)JSON.toJSON(user);
        System.out.println("对象转json:\t" + jsonObject);
        
        //json字符串转对象
        User parseObject = JSON.parseObject(jsonString, User.class);
        System.out.println("json字符串转对象:\t" + parseObject);
        
        //json对象转对象
        User javaObject = JSON.toJavaObject(jsonObject, User.class);
        System.out.println("json对象转对象:\t" + javaObject);
        
        User user2 = new User();
        user2.setAge(9);
        user2.setName("xiaochen");
        ArrayList<User> users = new ArrayList<>();
        users.add(user2);
        users.add(user);
        System.out.println("list 转json============\t");
        System.out.println("准备转json的list:\t" + users);
        
        //list 转json
        String jsonString2 = JSON.toJSONString(users);
        System.out.println("list转json:\t" + jsonString2);
        
        //json 转list
        List<User> parseArray = JSON.parseArray(jsonString2, User.class);
        System.out.println("json转list:\t" + parseArray);
    }
    
}

本文不定期更新

  

猜你喜欢

转载自www.cnblogs.com/Narule/p/10101300.html