GSON处理JSON

package com.wch.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.wch.entity.Users;


public class JsonUtil {
public static void main(String[] args) {
String str = "[{\"id\":1,\"username\":\"whwu123\",\"password\":\"mcgrady1\",\"nickname\":\"伍春晖\"}]";

Users users = new Users(1, "whwu123", "mcgrady1", "伍春晖");
Users users2 = new Users(2, "whwu1234", "mcgrady12", "伍春晖2");
List<Users> list = new ArrayList<Users>();
list.add(users);
list.add(users2);

Map<String, List<Users>> map = new HashMap<String, List<Users>>();
map.put("wch", list);
System.out.println(mapToJson(map));
}

/**
* 把对象转换成json字符串
* @param obj 传入需要转换的object对象
* @return
*/
public static String ParseJson(Object obj) {
Gson gson = new Gson();
String str = gson.toJson(obj);
return str;
}

/**
* 把字符串转成成对象
* @param <T>
* @param jsonStr
* @return
*/
public static void jsonToJavaBean(String json) {
Gson gson = new Gson();
Users person = gson.fromJson(json, Users.class);//对于javabean直接给出class实例
}
/**
* map to json
*
* @param map
* @return
*/
public static String mapToJson(Map<String, List<Users>> map) {

Gson gson = new Gson();
String json = gson.toJson(map);
return json;
}

/**
* json字符串转List集合
*/

public static void jsonToList(String json) {

Gson gson = new Gson();
List<Users> list = gson.fromJson(json, new TypeToken<List<Users>>() {}.getType());//对于不是类的情况,用这个参数给出
for (Users users : list) {
System.out.println(users.getNickname());
}
}

public static void jsonToMap(String json) {
Gson gson = new Gson();
Map<String, Users> maps = gson.fromJson(json, new TypeToken<Map<String, Users>>() {
}.getType());
for (Map.Entry<String, Users> entry : maps.entrySet()) {
System.out.println("key: " + entry.getKey() + " " + "value: " + entry.getValue());

}
}
}

猜你喜欢

转载自www.cnblogs.com/whwu123/p/9020393.html
今日推荐