认识Gson解析Json
来源:互联网 发布:ping 端口号命令 编辑:程序博客网 时间:2024/05/20 02:24
JSON有两种表示结构,对象和数组。
1、对象–》以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。
{ key1:value1, key2:value2, }
2、数组–》以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。
[ { key1:value1, key2:value2 }, { key3:value3, key4:value4 }]
2.1、客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象。但是用jsonObject和jsonArray解析相对麻烦。利用Gson和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象。
类型一:JavaBean类型二:List<JavaBean>类型三:List<String>类型四:List<Map<String,Object>>
3、json字符串:指的是符合json格式要求的js字符串。例如:var jsonStr = “{StudentID:’100’,Name:’tmac’,Hometown:’usa’}”;
4、json对象:指符合json格式要求的js对象。例如:var jsonObj = { StudentID: “100”, Name: “tmac”, Hometown: “usa” };
5、普通的json解析方法即JsonObject和JsonArray的配合使用,这对于解析小数据的json数据还是比较实用,但是当解析json数据比较复杂的时候这种方法就显得比较吃力也比较麻烦了,解析json数据的另外一种方法就是通过Gson解析:
很多时候大家都是不知道这个Bean是该怎么定义,这里面需要注意几点:
1、内部嵌套的类必须是static的,要不然解析会出错;
2、类里面的属性名必须跟Json字段里面的Key是一模一样的;
3、内部嵌套的用[]括起来的部分是一个List,所以定义为 public List b,而只用{}嵌套的就定义为 public C c,
String json = {"a":"100","b":[{"b1":"b_value1","b2":"b_value2"}, {"b1":"b_value1","b2":"b_value2"}],"c": {"c1":"c_value1","c2":"c_value2"}}
这json使用Gson解析就比较简单,需要定义一个序列化的Bean,这里采用内部类的形式
public class JsonBean { public String a; public List<B> b; public C c; public static class B { public String b1; public String b2; } public static class C { public String c1; public String c2; } }
- 认识Gson解析Json
- JSON解析 GSON解析
- json解析:gson解析json
- Gson解析Json数据
- 使用Gson解析Json
- Android JSON Gson 解析
- 使用Gson解析json
- Gson解析json
- Gson解析Json数据
- 使用Gson解析json
- Gson解析Json步骤
- Gson解析Json
- JSON解析之-Gson
- Gson解析json
- Gson解析json
- json解析-Gson
- JSON 之GSON 解析
- gson解析json(总结)
- Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式
- 数组定义及遍历
- 修改seting里面的休眠时间列表
- redis 对基本数据类型的处理接口
- 【LEETCODE】328. Odd Even Linked List
- 认识Gson解析Json
- HDU2087剪花布条
- VMware安装centos 6.3 连不上网络
- Java修饰符static,final,abstract
- elasticsearch+logstash+redis+kibana+logback整合
- python emoji 表情过滤
- 实例学习ansible系列(3)Ansible执行命令常用Option
- Activity启动模式与任务栈(Task)全面深入记录(上)
- 数组最值求法