Android学习笔记之Json的使用....
2016年01月03日
PS:当你的能力还驾驭不了你的目标时,那你需要沉下心来历练...
学习内容:
1.Json的使用...
2.Json信息过滤...
3.从网络上获取Json数据...
4.解析Json数据获取各个属性...
使用Json首先需要下载官方提供的一些jar文件...引用内部提供好的接口...才能够实现Json数据的获取....一共需要六个jar包...我已经进行了上传...大家可以直接下载...
jar下载地址:
下载好了这些jar之后,直接导入就行了...接下来就说真正的内容了...
1.Json的使用...
i.什么是Json...
其实Json和XML文件都一样...它是一种轻量级的数据交换格式。它基于ECMAScript的一个子集...JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。(来自百度)..
但是现在使用XML来完成数据交互并不是非常的多,但是并不意味着Json取代了XML,XML是非常强大的,有很多的事情都是需要使用到XML的...Json只是在数据交互上比XML更有优势而已,使用的更加的广泛,当然数据交互用XML也是完全没有任何问题的....只是Json在这方面的优势要强于XML...至于二者的优缺点我就不提了,百度上有很多关于二者的对比...
ii.Json的数据格式...
Json的数据格式才是我们关心的东西...
第一种:非常简单的一种数据格式...类似于Java里的键值对...
{ "姓名":"Darker", "年龄":20 }
第二种:其实都差不多...这种就类似于数组的格式...好比一个List中保存着HashMap...
{ "学生": [ {"姓名":"Darker","年龄":20}, {"姓名":"ClearLove","年龄":22} ] }
iii.如何在Java应用程序中生成一个Json数据呢?
其实也是非常的简单的...这里需要使用到JSONObject这个类来生成...JSONObject使用JavaBean或者是Map来生成Json数据...
何为Java Bean
JavaBean到底是个什么玩意...其实这个概念很多人都知道,但是不知道Java Bean到底是个什么东西...其实Java Bean是一种惯用模式或规定...这些规定包括getXXX, setXXX, isXXX, addXXXListener等等...遵守这些规定的类可以被用于若干工具和库...还是很抽象..举个例子来理解吧....
这个类用来实现一个链表...这里定义了一个size属性,用来说明链表的大小....
JavaIntList { static class Node { public Node next; public int value; } public Node head; public int size; } JavaIntList myList = new JavaIntList(); System.out.println(myList.size);//调用方法..获取链表的长度...
然后这个类就被发布了..发布成了一个java.jar文件...成为了一个开发需要用的类库...但是某一天我们为了节省内存,我们通过修改java.jar文件用另一种方式获取size...方式如下...然后发布成了java_1.jar
JavaIntList { Node { public Node next; public int value; } public Node head; public int getSize() { Node n = head; int i = 0; while (n != null) { n = n.next; i++; } return i; } }
这样改的结果可想而知,凡是在java.jar开发的应用程序,在升级java_1.jar之后全部都无法正常使用,因为java_1.jar已经看不到size这个属性值了...这就导致了没有向后进行兼容..所以在设计标准库的时候决不允许public int size 这样的代码出现...只能是下面这种方式...以至于在以后修改标准库的时候具备向后兼容...这种惯用手法和规定就被称为Java Bean..
private int size; public int getSize() { return size; }
其实这就是个Java Bean...所有的属性的定义,赋值,获取...等等都只能用这种规定的方式...这就是Java Bean...
package json; public class User { private String username; private String userpassword; private String userid; public String getuserid(){ return userid; } public String getusername(){ return username; } public String getuserpassword(){ return userpassword; } public void setuserid(String userid){ this.userid=userid; } public void setusername(String name){ this.username=name; } public void setuserpassword(String password){ this.userpassword=password; } }
介绍完了这些...就可以正式的说一下如何使用JSONObject生成Json数据了...
第一种使用Java Bean生成Json数据...
Java Bean :User类....