天天看點

alibaba的JSONObject的使用

//Javabean對象轉換成String類型的JSON字元串
JSONObject.toJSONString(Javabean對象)
 
//String類型的JSON字元串轉換成Javabean對象
JSONObject.toJavaObject(JSON字元串,Javabean.class)
 
//Json字元串轉換成JSONObject對象
JSONObject.parseObject(JSON字元串)
 
//JSON字元串轉換成Javabean對象
JSONObject.parseObject(JSON字元串,Javabean.class)

//擷取jsonObject中某個字段
jsonObject.getString("字段名字");
 
例如
Refund r = new Refund();
String jsonStr = JSONObject.toJSONString(r);
 
 
String jsonStr = "{\"msg\":\"ZhangSan\"}";
Refund r = JSONObject.toJavaObject(jsonStr,Refund.class);
 
 
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
 
Stirng msg= jsonObject.getString("msg");

Refund r = JSONObject.parseObject(jsonStr,Refund.class)
           

使用者類

package com.test.util;
 
/**
 * 使用者表
 */
public class User  {
    private int id;
    private String name;
    public User(int id, String name) {
        this.id = id;
        this.name = name;
    }
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}
           
//1.把json字元串轉對象
private static void jsonToBean() {
    String jsonStr = "{\"id\":1001,\"name\":\"soup_tang\"}";
    User user = JSONObject.parseObject(jsonStr, User.class);
    System.out.println("id 為:---" + user.getId() + "名字為:--" + user.getName());
}
 
//2.将對象轉json字元串
private static void beanToJson() {
    User user = new User(1, "CSDN部落格");
    String jsonStr = JSONObject.toJSONString(user);
    System.out.println("對象轉jsn字元串後的值為:--" + jsonStr);
}
 
//3.将多個對象字元串轉對象的方法1
private static void jsonToListBean() {
    String jsonStr = "[{\"id\":1001,\"name\":\"soup_tang\"},{\"id\":1002,\"name\":\"csdn\"}]";
    List<User> list1 = JSONObject.parseObject(jsonStr, new TypeReference<List<User>>() {
    });
    list1.forEach(user -> System.out.println(user.getName()));
}
 
//3.将多個對象字元串轉對象的方法2
private static void jsonToListBean1() {
    String jsonStr = "[{\"id\":1001,\"name\":\"soup_tang\"},{\"id\":1002,\"name\":\"csdn\"}]";
    List<User> users = JSONObject.parseArray(jsonStr, User.class);
    users.forEach(user -> System.out.println(user.getName()));
}
 
//4.将json字元串轉化成jsonObject對象
private static void jsonToJsonObject() {
    String jsonStr = "{\"id\":1001,\"name\":\"Jobs\"}";
    JSONObject jsonObject = JSONObject.parseObject(jsonStr);
    System.out.println("id 為:---" + jsonObject.getString("id"));
}
 
//5.Map轉Json字元串
private static void mapToJsonObject() {
    //将map轉換成jsonObject
    Map<String,String> itemMap = new HashMap<String,String>();
    itemMap.put("1","soup_tang");
  	//JSON.toJSONString(itemMap)     将map轉成json字元串
    JSONObject itemJsonObject = JSONObject.parseObject(JSON.toJSONString(itemMap));
    System.out.println("jsonObject--"+itemJsonObject.getString("1"));
 
}
//6.json字元串轉Map
private static void jsonObjectToMap(){
    //将jsonObj轉換成Map
    JSONObject itemJsonObject = new JSONObject();
    itemJsonObject.put("id","1");
    itemJsonObject.put("name","soup_tang");
    Map<String, Object> itemMap = JSONObject.toJavaObject(itemJsonObject, Map.class);
    for (Object s : itemMap.values()) {
        System.out.println("值為:----"+s);
    }
}