GSON你应该知道的事
来源:互联网 发布:改号软件 编辑:程序博客网 时间:2024/05/20 16:00
之前一直用 fastjson, 但目前项目中使用的是GSON, 两者的性能在请求数据量不太的情况下差不多。。
本文适用于不了解GSON的同学,如果你已经了解了,完全可以不看,
至少之前,我是很烦燥JsonPrimitive JsonElement JsonObject JsonArray这几个东西的。对GSON了解得也很浅,只会baidu搜索它的用法,然后遇到错误了也不知道该如何解决。
直到后来,我看了它的源码,哈哈
下面从源码的角度去分析该如何解析获取到的字符串。。看看这个类图,已经很简化了。。
为了更好的理解,我写一个基本的JSON串:
{ “result”:1, "data":[ {"name":"david", "age":1,"sex":1}, {"name":"lilei", "age":1,"sex":1} ], "mesage":"request ok"}
JsonElement : 它就是一个抽象类,一堆公共的方法申明,没有实现体,不用管它
JsonPrimitive : 里面只有一个成员变量Object , 相当于一个确定的值,它可以是1, david 等基本数据类型
JsonObject : 还是看它的成员变量 LinkedTreeMap<String, JsonElement> members, 只有一个LinkedTreeMap, 它是一个树类型的MAP, 它可以是整个JSON串,数据是键值类型
JsonArray : 继续看它的成员变量 List<JsonElement> elements = new ArrayList(), 就是一个列表,可以看到data后面的列表数据。要知道在JSON串里面,大括号表示的是对象,中括号表示的是数组。。
了解了这些,感觉你自己应该会使用GSON解析了吧!
对了,还有一个JsonParser解析类,使用它来解决JSON串,得到的结果是JsonElement, 你可以再次把它强转为JsonPrimitive , JsonObject, JsonArray,都可以,主要看你的数据定义的结构。
还有一种解析方法是直接使用fromJson toJson,对JSON串和对象互转的,这个比较简单,就不写了...
- GSON你应该知道的事
- 你应该知道的
- JDBC 你应该知道的事
- 作为程序员你应该知道的事
- Arrays.sort()你应该知道的事
- Codeforces 你应该知道的事
- SurfaceView你所应该知道的事
- Fragment你应该知道的那些事
- Android Notification 你应该知道的事
- Gson 和 Fastjson 你不知道的事
- Gson 和 Fastjson 你不知道的事
- cookies你应该知道的
- session你应该知道的
- 你应该知道的Unicode
- 你应该知道的print
- 你应该知道的ThreadPoolExecutor
- 你应该知道的统计学
- Silverlight,你应该知道的10件事
- 百度等登录RSA加密密码Java版本
- 对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误解决
- Python学习笔记:六
- ClassTag、Manifest
- python2转化成python3脚本
- GSON你应该知道的事
- python编程 从入门到实践第七章 输入与while循环
- matlb加载图像库运行实验
- android jni
- UIButton小技巧----点击事件时间间隔
- [教你警告消除]Warning[Pe1072]: a declaration cannot have a label!
- Git push报错,提示没有权限.
- 数据库数据传给页面处理
- 第十四天 流程结构(上)