JSON语法规则:
JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 名称/值对:
" name " : " Jhs " //意思就是:name=“Jhs”
JSON值的语法:
JSON 值可以是:
数字(整数或浮点数)
字符串(在双引号中)
逻辑值(true 或 false)
数组(在方括号中)
对象(在花括号中)
null
JSON 对象:
{ " firstName " : " Jhs " , " lastName " : " Doe " }
JSON数组:
{
" employees ": [
{ " firstName " : " John " , " lastName " : " Doe " },
{ " firstName " : " Anna " , " lastName " : " Smith " },
{ " firstName " : " Peter " , " lastName " : " Jones " }
]
}
JavaScript中的JSON转换:
JSON字符串转对象: var obj = JSON.parse(JSON字符串)
对象转JSON字符串: var str = JSON.stringify(对象)
Gson工具类:
jar包:
- gson-2.8.0.jar
package cn.kgc.utils;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
import com.google.gson.Gson;
/**
* Gson工具类
* @author XY
*
*/
public class GsonUtils {
private static Gson gson = new Gson();
/**
* 对象序列化为json字符串
* @param object
* @return
*/
public static <T> String objectToJsonStr(T object) {
return gson.toJson(object);
}
/**
* json字符串解析为List集合
* @param args
* @return
*/
public static <T> List<T> jsonToList(String jsonStr, Type type) {
return gson.fromJson(jsonStr, type);
}
/**
* json字符串解析为对象
* @param jsonStr
* @param classOfT
* @return
*/
public static <T> T jsonStrToObject(String jsonStr, Class<T> classOfT) {
return gson.fromJson(jsonStr, classOfT);
}
public static ParameterizedType type(final Class<?> raw, final Type... args) {
return new ParameterizedType() {
@Override
public Type getRawType() {
return raw;
}
@Override
public Type getOwnerType() {
return null;
}
@Override
public Type[] getActualTypeArguments() {
return args;
}
};
}
}