JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。
API中org.json这个包中提供了四个与JSON相关的类和一个Exceptions:
JSONArray JSONObject JSONStringer JSONTokener JSONException 首先来了解下这几个类的作用。 JSONObject类系统中有关JSON定义的基本单元,包含一对儿(Name/Value)映射。对外部请求的响应体现为一个标准的字符串,最外被大括号包裹,其中的Name和Value被冒号”:”分隔例如{"user":"cyn"}。其对于内部行为的操作格式,例如:初始化一个JSONObject实例,引用内部的put()方法添加数值:new JSONObject().put("user", "cyn"),在Key和Value之间是以逗号”,”分隔。API中这个类的方法主要为get,opt,put等,这三个方法的主要作用时获取或添加内容。
JSONArray API的解释为一组有序的值的序列。值可以是对象(在花括号中)、其他的数组(在方括号中)、数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、可以为NULL和null,不能为无穷大或其他。
JSONStringer这个类可以帮助快速和便捷的创建JSON表达式。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则创建JSON表达式。每个JSONStringer实体只能对应创建一个JSON表达式。
JSONTokener这个类是系统提供的用来把JSON表达式解析成JSONObject或者JSONArray,我们基本上就用到这个类中的构造器和nextValue()这个方法。 JSONException:是json.org类抛出的异常信息。
总结:JSON作为数据包格式传输的时候具有更高的效率,这是因为JSON不像XML那样需要有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输压力[4] 。