JSON数据解析
其实关于json在做毕业设计的时候就用过了,当时使用MongoDB来作数据存储,No-Sql数据库中存储的就是JSON形式,当时使用了simple.json来作JSON的解析,这次借机当做一次整理
什么是JSON
1 JavaScript Object Notation
2 JSON数据是一系列键值对的集合
3 JSON在网络数据传输中应用广泛
4 JSON相对于XML,解析更方便
{
"name":"Michael",
"address":
{
"city":"Beijing",
"street":"xxxRoad",
"post":"200000"
}
}
大括号就是一个JSON对象 中括号代表一个JSON对象的数组
JSON数据格式的特点
JSON vs XML
●JSON和XML可读性基本相同
●JSON和XML同样拥有丰富的解析手段
●JSON相对于XML体积更小
●JSON与JavaScript交互更方便
●JSON对数据描述性相对较差
使用Gson解析JSON数据
自带JsonReader 针对3.0 因此不建议使用
Gson 导入gson.jar
第一种方式(普通解析)
//首先生成一个JsonReader对象
JsonReader reader= new JsonReader(new StringReader(jsonData));
reader.beginArray(); //代表开始解析数组
while(reader.hasNext()){
reader.beginObejct(); //代表开始解析对象
while(reader.hasNext()){
String tagName=reader.nextName(); //得到键
reader.nextInt(); //得到值 同样还有nextString等
}
reader.endObject();
}
reader.endArray();
第二种方式(解析一个JSON对象)
//创建一个代表JSON对象的Bean
Gson gson=new Gson();
User user=gson.fromJson(jsonData,User.class); //jsonData是一个Json对象
第三种方式(JSON对象数组)
Type listType=new TypeToken<LinkedList<User>>(){}.getType(); //TypeToken是一个空的抽象类
Gson gson=new Gson();
LinkedList<User> users=gson.fromJson(jsonData,ListType); //User对象会被保存到LinkedList中
//再进行遍历
for(Iterator iterator = users.iterator();iterator.hasNext();){
User user=(User)iterator.next();
//...doSomething
}
分享到:
相关推荐
mars 安卓视频+源码解析第一季到第五季全套讲解,名师指导。
www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码 SAX解析XML xml 源码(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
android mars视频代码 xml源码 XML解析
Mars(战神)——资产发现、子域名枚举、C段扫描、资产变更监测、端口变更监测、域名解析变更监测、Awvs扫描、POC检测、web指纹探测、端口指纹探测、CDN探测、操作系统指纹探测、泛解析探测、WAF探测、敏感信息检测...
这里是个人在看mars的contentprovider中的做记录的一些笔记,因为这章没有源码,所以做了点笔记下来仔细看看,不需要的同志不需要下哦
mars视频教程是初学android者首选的经典网上教程,mars老师语言幽默风趣、逻辑条理清晰,可以让初学者对android有个很好的入门学习,该资源是网上mars视频教程的全部源代码,初学者可以结合网上教程和源代码进行学习...
Mars Android视频教程的笔记。。看视频的时候一边记录下来的。看一下可以回忆起视频的内容
mars老师android视频学习笔记,mars老师讲解细致,这套笔记记得非常全面
mars视频教程全部源码学习必备 就此共享出来 大家共同进步
mars老师视频源码下载mars老师视频源码下载mars老师视频源码下载mars老师视频源码下载
mars老师android视频第一季到第五季源码及视频合集
www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码 WIFI(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
android mars视频代码 Broadcast TestBC源码 BroadcastReceiver www.mars-droid.com/Android开发视频教程 mars老师讲课 android 视频源码(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
Android开发mars视频教学第二季+源码和ppt.rar
www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码 Activity_03 (在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
android mars视频代码 Broadcast TestBC2源码 BroadcastReceiver www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
Mars老师视频源代码,android源程序。
www.mars-droid.com/Android开发视频教程 代码 源码 mars老师讲课 android 视频源码 sqlite(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)
www.mars-droid.com/Android开发视频教程 LinearLayout代码 源码 mars老师讲课 android 视频源码 Layout_01(在此特别感谢mars的无私奉献,此代码为跟随视频边学边做的)