JSON

一种轻量级是数据交换格式,基于纯文本,是交换和存储文本信息的语法
构建格式
a)、对象:“名称/值”对的集合(A collection of name/value pairs)
b)、数组:值的有序列表(An ordered list of values)
具体形式
Json 以 key-value 的形式存储数据
 Key 的取值 为 String 类型;
 Value 的取值 为 String,boolean,Number,数组,Object,null;
 Json串以{开始,以}结尾;
 Json 串中数组是以[开始,以]结尾;
 Json 串中Object是以{开始,以}结尾;
GSON的节点对象
JsonElement : 所有的节点 都是 JsonElement 对象.
JsonPrimitive : 基本的 数据类型的 节点 对象, JsonElement 的子类.
JsonNull : 代表 空节点 对象,即 有 key,value 为空,JsonElement 的子类.
JsonObject : 对象 数据类型的 节点 对象, JsonElement 的 子类.
JsonArray : 数组 数据类型的 节点 对象, JsonElement 的 子类.
JsonPrimitive的取值
JsonPrimitive : value 的 取值对应 java 的 int,double,float,long,short,boolean,char,byte,String,BigDecimal,BigI nteger,Number
JsonObject : value 的取值对应 java 的 Object 对象.
JsonArray : value 的取值对应 java 的 List 及其子类对象.
JSON解析
解析成Java对象
Gson gson = new Gson();
// 将 json 转化成 java 对象
Student stu = gson.fromJson(json, Student.class);
解析成list
Gson gson = new Gson();
// 将 json 转化 成 List 泛型
List stus = gson.fromJson(json, new TypeToken<List>()
{}.getType());
解析成map
Gson gson = new Gson();
// 将 json 转化成 Map 泛型了 TypeToken,它是 gson 提供的数据类型转换器
Map<String,Student> map = gson.fromJson(json,newTypeToken<Map<String,Student>>()
{}.getType());
节点解析
1、获得解析器 JsonParser parser = new JsonParser();
2、获得根节点元素 JsonElement element = parser.parse(json);
3、根据根节点判断节点属于什么类型GSON节点对象 // 假如文档 显示 根节点 为对象类型
// 获得 根节点 的实际 节点类型
JsonObject root = element.getAsJsonObject();
4、获得节点下的某个节点的value
// 获得 flag 节点的值, flag 节点为基本数据节点
JsonPrimitive flagJson = root.getAsJsonPrimitive(“flag”);
// 基本节点取值
boolean flag = flagJson.getAsBoolean();
// 获得 data 节点的值,data 节点为 Object 数据节点
JsonObject dataJson = root.getAsJsonObject(“data”);
// 将节点上的数据转换为对象 Student stu = new Gson().fromJson(dataJson,Student.class);
2. 使
fastjson
1、转为json字符串 String jsonString = JSON.toJSONString(object);
2、解析成对象
1). JavaBean : Person person = JSON.parseObject(jsonString, Person.class);
2). List : List listPerson =JSON.parseArray(jsonString, Person.class);
3). List:List listString = JSON.parseArray(jsonString, String.class);
4). List List listMap = JSON.parseObject(jsonString, new TypeReference<List>(){});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值