天天看點

阿裡JSONObject 常用方法介紹

1、maven依賴

<dependencies>
   <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.50</version>
    </dependency>
</dependencies>
           

2、常用方法

将json字元串轉換成javaBean
  • 假設User類已經存在
public static void json2Bean(){
        String jsonStr = "{\"id\":1001,\"name\":\"Jobs\"}";
        User user = JSONObject.parseObject(jsonStr, User.class);
    }
           
将json字元串數組轉換成List集合
public static void json2ListBean1() {
  	String jsonStr = "[{\"id\":1001,\"name\":\"Jobs\"},{\"id\":1002,\"name\":\"jack\"}]";
    List<User> users = JSONObject.parseArray(jsonStr, User.class);
 }
 public static void json2ListBean(){
    String jsonStr = "[{\"id\":1001,\"name\":\"Jobs\"},{\"id\":1002,\"name\":\"jack\"}]";
    List<User> list1 = JSONObject.parseObject(jsonStr, new TypeReference<List<User>>() {});
           
将javaBean轉換成json對象
public static void bean2Json(){
   String tom = JSONObject.toJSONString(new User(1000, "tom"));
   System.out.println(tom);
}
           

3、擷取複雜json中的值(一般用于調用第三方的接口)

json:[
	{
		person:{
			name:"蔡徐坤",
			age:20
		}
	},
	{
		person:{
			name:"喬碧蘿",
			age:50
		}
	}
]
           
  • 這裡首先得提取出數組
JSONArray array = JSONArray.fromObject(json);
for(int i = 0;i < array.size();i++){
	JSONObject obj = JSONObject.fromObject(array.get(i));
	String name = obj.getJSONObject("person").get("name").toString();
}
           

繼續閱讀