您的位置:首页 > Web前端 > JavaScript

FastJson简单封装

2017-07-13 16:11 435 查看
这里封装了7个使用json的常用方法:

将json字符串转为对象

将json字符串转为对象list

将java list数组转为json array字符串

将java对象转成json字符串

将java list数组转为json array对象

将java对象转为json对象

将json字符串转为json对象或数组

封装类:

public class FastJsonUtil {

/**
* Author:ZhangHuanMing
* Name: toBean
* Time:2017年7月13日下午2:42:03
* Description: translate jsonString to bean
* parameter:jsonString,beanClass
* return: T
*/
public static <T> T toBean(String jsonString,Class<T> beanClass){

T t = JSONObject.parseObject(jsonString, beanClass);
return t;
}

/**
* Author:ZhangHuanMing
* Name: toBeanList
* Time:2017年7月13日下午3:01:56
* Description: translate jsonString to bean list
* parameter:jsonString,beanClass
* return: List<T>
*/
public static <T> List<T> toBeanList(String jsonString,Class<T> beanClass){

List<T> t = JSONObject.parseArray(jsonString, beanClass);
return t;
}

/**
* Author:ZhangHuanMing
* Name: listToJsonStr
* Time:2017年7月13日下午3:20:52
* Description: translate bean list to jsonString
* parameter:list
* return: String
*/
public static <T> String listToJsonStr(List<T> list){

String jsonArrayString = JSONObject.toJSONString(list);
return jsonArrayString;
}

/**
* Author:ZhangHuanMing
* Name: listToJSONArr
* Time:2017年7月13日下午3:33:32
* Description: translate bean list to json array
* parameter:list
* return: JSONArray
*/
public static <T> JSONArray listToJSONArr(List<T> list){

JSONArray array = (JSONArray) JSONObject.toJSON(list);
return array;
}

/**
* Author:ZhangHuanMing
* Name: beanToJsonStr
* Time:2017年7月13日下午3:26:56
* Description: translate bean to json
4000
String
* parameter:t
* return: String
*/
public static <T> String beanToJsonStr(T t){

String jsonObjectString = JSONObject.toJSONString(t);
return jsonObjectString;
}

/**
* Author:ZhangHuanMing
* Name: beanToJsonObj
* Time:2017年7月13日下午3:38:23
* Description: translate bean to json object
* parameter:t
* return: JSONObject
*/
public static <T> JSONObject beanToJsonObj(T t){

JSONObject json = (JSONObject) JSONObject.toJSON(t);
return json;
}

/**
* Author:ZhangHuanMing
* Name: jsonStrToObjArr
* Time:2017年7月13日下午3:52:37
* Description: translate json string to json object or array
* parameter:
* return: T
*/
public static <T> T jsonStrToObjArr(String jsonStr){

T t = (T) JSONObject.parse(jsonStr);
return t;
}
}


Jnuit测试类

public class FastJsonTest {

@Test
public void toBean() {          //将json字符串转为对象

String jsonString = "{'name':'张三','age':10}";
User user = FastJsonUtil.toBean(jsonString, User.class);
JSONObject json = FastJsonUtil.toBean(jsonString, JSONObject.class);
System.out.println(user);
System.out.println(json);
}

@Test
public void toBeanList(){           //将json字符串转为对象集合

String jsonString = "["
+ "{'name':'张三','age':10},"
+ "{'name':'李四','age':20}"
+ "]";
List<User> users = FastJsonUtil.toBeanList(jsonString, User.class);
System.out.println(users);
}

@Test
public void listToJson(){           //将java list数组转为json array字符串

List<User> users = new ArrayList<User>();
for (int i = 0; i < 2; i++) {

User user = new User();
user.setAge(i);
user.setName("张三"+i);
users.add(user);
}
String jsonString = FastJsonUtil.listToJsonStr(users);
System.out.println(jsonString);
}

@Test
public void beanToJson(){           //将java对象转成json字符串

User user = new User();
user.setAge(10);
user.setName("张三");

String jsonString = FastJsonUtil.beanToJsonStr(user);
System.out.println(jsonString);
}

@Test
public void listToJSONArr(){          //将java list数组转为json array对象

List<User> users = new ArrayList<User>();
for (int i = 0; i < 2; i++) {

User user = new User();
user.setAge(i);
user.setName("张三"+i);
users.add(user);
}

JSONArray array = FastJsonUtil.listToJSONArr(users);
System.out.println(array.toJSONString());
}

@Test
public void beanToJsonObj(){                 //将java对象转为json对象

User user = new User();
user.setAge(10);
user.setName("张三");

JSONObject json = FastJsonUtil.beanToJsonObj(user);
System.out.println(json.toJSONString());
}

@Test
public void jsonStrToObjArr(){            //将json字符串转为json对象或数组

String jsonArrayStr = "["
+ "{'name':'张三','age':10},"
+ "{'name':'李四','age':20}"
+ "]";
String jsonObjStr = "{'name':'张三','age':10}";
JSONObject json = FastJsonUtil.jsonStrToObjArr(jsonObjStr);
JSONArray array = FastJsonUtil.jsonStrToObjArr(jsonArrayStr);
System.out.println(json);
System.out.println(array);
}

}


测试辅助类

class User{

private String name;
private int age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}


fastjson api链接:http://blog.csdn.net/wilsonke/article/details/37921571
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: