您的位置:首页 > Web前端 > JavaScript

解析Json——Json类的实例方法

2015-07-01 00:00 651 查看
作为所有Json实例的基类Json定义了操作Json实例的通用方法,下面将一一介绍。

一、输出Json文本

要把Json实例转换为字符串,可以调用Json类的方法generateJsonText,这个方法有两个重载版本,带参数的与不带参数的。带参数的generateJsonText(boolean)让你自己决定JsonObject子元素的Name部分是否用引号括起来,不带参数的版本相当于参数为false的情况,只是转换失败时仅返回一个空指针而不抛出异常。

Json类还重写toString方法,toString方法等同于不带参数的generateJsonText()。

在Servlet编程中,直接把Json文本输出到Response的Writer对象更方便。为此,Json类实现了outputToWriter方法,这个方法也有两个重载版本,分别是outputToWriter(PrintWriter, boolean)与outputToWriter(PrintWriter, boolean)。outputToWriter方法的第二个参数与generateJsonText方法的参数意义一致,第一个参数的区别是用PrinteWriter时不会抛出必须捕获的IOException,而用Writer时必须处理IOException。

二、Json实例的通用方法

Json实例通用的方法有下面几个:

isEmtpy:判断Json实例是否包含子元素。

count:Json实例子元素的个数。

clear:清除Json实例所有的子元素。

getType:返回Json实例的类型。

existsCircle:Json实例内是否存在循环引用,如果存在会导致输出文本异常。

三、Json实例的相等性判断

Json类重写了equals方法,只要两个Json实例所表示的数据一致(即类型一致、子元素的个数一致且对应相等,对于JsonPrimitive来讲是自身的值相等)就返回true,而不管在内存中的映像是否一致。

Json类也重写了作为与equals配对使用的方法hashCode,只要equals方法返回true,hashCode肯定返回相同的值。

四、克隆Json实例

Json类也重写了方法clone,能够实现Json实例的深度克隆,即无论如何修改被克隆出的Json实例(即使修改子元素的子元素),都不会影响原Json实例的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Json