`
bantouyan
  • 浏览: 147425 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • Json
阅读更多

      作为所有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——bantouyan-json库概述

解析Json——Json类的静态方法

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

解析Json——操纵JsonObject

解析Json——操纵JsonArray

0
2
分享到:
评论
2 楼 liuxingyu0909 2013-10-18  
1 楼 wellway 2012-03-23  
学习了,很好的东东

相关推荐

    代码JSON——test_c#json_JSON_unity_

    在"代码JSON——test.txt"中,可能包含了示例代码,展示如何在实际项目中使用C#和Unity处理JSON数据。而"网站.txt"可能包含了一些参考资料链接,供开发者深入学习和解决问题。 五、注意事项 在使用JSON时,需要注意...

    Android解析——json解析为javabean

    总的来说,Android中使用Gson库解析JSON数据到JavaBean是一种常见的做法,它简化了数据处理的流程,提高了开发效率。通过创建与JSON结构匹配的JavaBean类,并利用Gson的fromJson方法,我们可以轻松地将JSON数据转化...

    ios下json数据解析的实例

    本文将深入探讨在iOS环境下如何解析JSON数据,以“ios下json数据解析的实例”为主题,结合提供的代码示例——JsonDemo,进行详细讲解。 首先,我们需要了解JSON的基本结构。JSON是一种轻量级的数据交换格式,它基于...

    C#JSON转换实体类实例

    本文将详细介绍如何使用Newtonsoft.Json库进行JSON与实体类之间的转换,并结合提供的项目文件进行实例解析。 首先,确保你的项目中已经引用了Newtonsoft.Json库。如果你的项目是.NET Framework 4.5版本,可以通过...

    安卓Andriod源码——单排显示gridview并从解析JSON读取数据加载项目.zip

    这个项目“安卓Andriod源码——单排显示gridview并从解析JSON读取数据加载项目.zip”显然是一个实例,演示了如何在Android应用中实现一个单一横行的GridView,并通过解析JSON数据来动态加载内容。 首先,我们需要...

    JSON Schema 校验库——json-schema-validator(java版本).rar

    在给定的压缩包中,`JSON Schema 校验库——json-schema-validator(java版本).pdf`可能是该库的使用指南或API文档,可以帮助开发者深入理解如何在Java项目中有效利用`json-schema-validator`进行JSON数据验证。...

    C#解析Json开源库-Newtonsoft.Json.zip

    标题"\"C#解析Json开源库-Newtonsoft.Json.zip\"\"暗示了我们关注的重点是使用Newtonsoft.Json库来解析JSON数据。这个库通过NuGet包管理器可以轻松安装到任何.NET项目中,包含的主要组件是Newtonsoft.Json.dll文件,...

    一个简单的JSON 数据格式转换类

    本篇文章将深入探讨如何创建一个简单的JSON数据格式转换类,并分析提供的两个源代码文件——`JsonUtil.java`和`Json.java`。 在Java中,处理JSON数据通常有多种库可供选择,如Gson、Jackson、Fastjson等。然而,...

    json解析器 c++版本

    在上面的代码中,我们创建了一个`Json::Reader`实例,然后调用`parse`方法解析JSON字符串。如果解析成功,我们可以使用`Json::Value`对象访问和操作JSON数据。 生成JSON字符串则可以通过`Json::FastWriter`或`Json:...

    mybatis中操作json类型数据(csdn)————程序.pdf

    类中有一个静态的`ObjectMapper`实例,这是Jackson库的主要组件,用于读取和写入JSON。`objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)`配置表示在反序列化时遇到未知属性时...

    安卓Android源码——android访问网络返回json解析和Hanlder的使用.zip

    "NetUtilsDemo"可能是演示如何解析JSON的代码片段,它可能展示了如何将JSON字符串转换为Java对象,这对于处理API响应至关重要。 其次,Handler是Android中处理线程间通信的重要机制,尤其在主线程与工作线程之间。...

    linux jsonc 例子

    Linux环境下的JSON解析库——jsonc,是一种轻量级、纯C语言编写的JSON解析器。JSON(JavaScript Object Notation)是一种数据交换格式,广泛应用于Web服务与客户端之间的通信,而jsonc则为Linux系统提供了处理JSON...

    json lib jdk

    1. **解析JSON**:通过`JsonParser`类,可以将一个JSON格式的字符串解析成一个`JsonNode`对象,进一步转化为Java对象,如Map、List或自定义类实例。 2. **生成JSON**:利用`JsonGenerator`类,可以将Java对象转换成...

    JSONModel MVC demo

    这样,你就可以在Model层直接使用这些对象,无需手动解析JSON。 MJExtension是另一个常用的Objective-C框架,主要用于对象和字典之间的快速转换。虽然在JSONModel MVC demo中可能没有直接使用,但理解其工作原理对...

    整合jquery+json+struts2异步提交实例

    对于JSON响应,Struts2有一个内置的插件——Struts2-Json-plugin,它可以自动将Action结果转换为JSON格式。在Action类中,你可以定义一个返回JSON的Result类型,例如: ```java public class YourAction extends ...

    安卓Android源码——百度手机地图 实例集合.zip

    4. **地图动画**:移动地图视角,缩放地图,或者平滑过渡到指定位置,这些都是通过MapController提供的方法实现的。 5. **路径规划**:根据起点和终点,利用百度地图API计算出最佳行驶路线,包括驾车、步行和骑行等...

    jmeter实例(json断言+参数化)

    为此,JMeter提供了一个强大的工具——JSON断言,它能够帮助我们轻松地完成这一任务。 ##### 安装JSON断言插件 首先,我们需要安装JSON断言插件。这可以通过以下步骤完成: 1. **下载插件管理器**:访问下载`...

    java转json测试项目(附带json jar包)

    例如,你可以使用`parseObject()`方法将JSON字符串解析为Java对象,或者使用`toJSONString()`方法将Java对象转换为JSON字符串。 另一方面,json-lib是一个广泛使用的JSON库,其中`net.sf.json.JSONObject`类同样...

    AndroidJSON解析框架GSON

    假设我们有一个名为`Person`的Java类,包含`name`和`age`属性,我们可以使用`Gson`实例的`toJson()`方法将其转换为JSON字符串: ```java Gson gson = new Gson(); Person person = new Person("Alice", 30); ...

    不用第三方jar的json与object(map、list)互换java类

    首先,`JsonUtil.java`很可能是这个功能的核心工具类,它包含了将Java对象转换为JSON字符串以及将JSON字符串解析为Java对象的方法。在没有第三方库如Gson或Jackson的情况下,这通常通过使用Java内置的`org.json`包来...

Global site tag (gtag.js) - Google Analytics