- 浏览: 54327 次
- 性别:
- 来自: 洛阳
文章分类
最新评论
JSONObject、JSONArray、xml的常用操作
1.JSONObject的操作
创建JSONObject
JSONObject ob = new JSONObject(); ob.put("busiCd", "111"); ob.put("channel_cd", "1000000001");
解析JSONObject
TestModel model = new TestModel();// 声明一个对象对应json里面的key String info = "{'busiCd':'111','channel_cd':'1000000001'}"; JSONObject sobj = JSONObject.fromObject(info);// 将info转换为JSONObject // 1.1、单个获得,用key得到对象值 String result = sobj.getString("busiCd"); String code = sobj.getString("channel_cd"); // 1.2、转对象,直接将json对象转换为model model = (TestModel) JSONObject.toBean(sobj, TestModel.class); // 1.3、遍历对象,循环获得 Iterator<String> it = sobj.keys(); while (it.hasNext()) { String key = it.next(); System.out.println(key + ":" + sobj.get(key)); }
2.JSONArray的操作
创建JSONArray
List<TestModel> testModels = new ArrayList<TestModel>();//数据源 JSONArray ja = new JSONArray();// 调用接口计算扣企业的钱和个人的钱 for (int i = 0; i < testModels.size(); i++) { JSONObject ob = new JSONObject(); ob.put("productCd", testModels.get(i).getBusiCd()); ob.put("counts", testModels.get(i).getChannel_cd()); ja.add(ob); }
解析JSONArray
List<TestModel> models = new ArrayList<TestModel>();// 声明一个对象对应json里面的key String info = "[{'busiCd':'111','channel_cd':'1000000001'}]"; JSONArray array = JSONArray.fromObject(info); // 2.1 使用toList方法转数组 models = JSONArray.toList(array, TestModel.class); // 2.2 使用toCollection转数组 models = (List<TestModel>) JSONArray.toCollection(array,TestModel.class); // 2.3 遍历对象,循环获得 Iterator<JSONObject> its = array.iterator(); while (its.hasNext()) { JSONObject obj = its.next(); Iterator<String> ite = obj.keys(); while (ite.hasNext()) { String key = ite.next(); System.out.println(key + ":" + obj.get(key)); } }
3、xml操作
解析xml
// 3.1解析xml格式的数据 String xmlStr = "<rsp><rsp_cd>0000</rsp_cd><tx_type>PY41</tx_type></rsp>"; // 将xml格式的字符串转换成Document对象 Document doc = DocumentHelper.parseText(xmlStr); // 获取根节点 org.dom4j.Element root = doc.getRootElement(); // 获取根节点下的所有元素 List children = root.elements(); // 循环所有子元素 if (children != null && children.size() > 0) { for (int i = 0; i < children.size(); i++) { Element child = (Element) children.get(i); if ("rsp_cd".equals(child.getName())) { System.out.println("rsp_cd:" + child.getTextTrim()); } if ("tx_type".equals(child.getName())) { System.out.println("tx_type:" + child.getTextTrim()); } } }
发表评论
-
Condition
2017-01-03 16:58 0condition的应用 -
java对sftp文件进行上传、下载、删除等操作,附详细demo
2016-12-22 18:01 2087这是自己总结的一个类,包含连接sftp,上传,下载等操作,附件 ... -
servlet监听器功能讲解及代码案例
2017-07-08 16:54 620servlet监听器功能讲解及代码案例 监听器的功能很强大, ... -
web.xml之session超时设置 以及设置session超时的几种方法
2016-10-20 16:39 1189web.xml之session超时设置 先说正题,web. ... -
web.xml之过滤器详解 以及常用过滤器demo
2016-10-20 14:15 2716web.xml之过滤器详解 一 ... -
poi导出excel清晰 步骤详解
2016-10-14 14:08 843poi导出excel清晰 步骤详解 一、本次生成excel ... -
struts2下载文件最简化版清晰详解
2016-10-14 11:20 614struts2下载文件最简化版清晰详解 一、应用场景如下: ... -
poi解析excel步骤详解
2016-10-14 10:42 2115poi解析excel步骤详解 一、本次解析excel应用场景 ... -
struts2文件上传详解
2016-10-13 11:26 807struts2文件上传详解 一、jsp代码 <fo ... -
ThreadLocal用法详解
2016-09-29 10:44 1602ThreadLocal用法详解 1.ThreadLocal的 ... -
Rsa签名算法详解
2016-09-22 09:48 4628Rsa签名算法详解 签名生成规则与验证签名规则如下: ... -
Quartz定时任务的实现及详解
2016-09-21 18:03 2161Quartz定时任务的实现及详解 平常工作中经常遇到写定时任 ... -
四种线程池的特性以及测试代码
2016-09-21 09:20 905四种线程池的特点如下 ... -
操作json
2016-09-18 13:01 642总是记不住一些零碎的知识点,这次开个专栏来记录,不定期更新: ... -
日期类型转换
2016-09-18 12:50 531总是记不住一些零碎的知识点,这次开个专栏来记录,不定期更新: ... -
配置文件的读取与写入
2016-09-14 17:00 650读取配置文件: public static void m ... -
HttpPoster接口调用
2016-09-13 13:47 1624工作中经常用到的东西,这也是自己在公司的基础上改造的,感觉挺好 ... -
md5加密
2016-09-13 13:39 594md5工具类如下所示,可以直接拿走用,分享记录一下 pack ... -
AES加密与解密
2016-09-13 13:37 477这个其实是我们项目里面的一个工具类,给大家做一下分享 aes ... -
循环map取值的方法
2016-09-08 13:00 1543循环map取值的方法,如下所示: 方法一: Map< ...
相关推荐
导入依赖后,就可以在项目中自由地使用JSONObject和JSONArray进行JSON数据的操作了。这些基本操作包括解析JSON字符串到对象、序列化对象为JSON字符串、获取和设置键值对、遍历数组和对象等。这些功能使得JSON处理在...
在Java编程环境中,当我们处理JSON数据时,经常会用到`JSONObject`和`JSONArray`这两个类。它们是来自开源项目json.org的JSON库的一部分,提供了方便的API来操作JSON格式的数据。JSON(JavaScript Object Notation)...
4. **使用示例**: 创建和操作`JsonObject`和`JsonArray`的实例,通常涉及到解析JSON字符串、获取/设置属性值、遍历数组等操作: ```java // 创建JsonObject并添加属性 JsonObject obj = new JsonObject(); obj.add...
本文将详细讲解如何将Java中的JSON字符串转换为JSONObject和JSONArray,并从中提取值。 首先,我们需要引入处理JSON的库。在这个例子中,使用的是`net.sf.json.JSONArray`和`net.sf.json.JSONObject`,这是一个开源...
示例代码演示了如何使用JSONObject和JSONArray类进行基本的操作。首先,创建了一个JSONObject实例,并为其添加了一些属性。然后通过`System.out.println`打印出JSONObject对象,使用`isArray()`, `isEmpty()`和`...
对于更复杂的情况,你可以利用`JSONArray`类来处理JSON数组,或者使用`XMLJSONBean`进行XML与JSON之间的转换。在实际开发中,理解并熟练运用这些功能能极大地提升处理JSON数据的效率。 为了进一步学习和实践,你...
在这个小实例中,我们将探讨如何使用`JSONArray`来创建、操作和解析JSON数据。 首先,我们需要引入`org.json`库。如果你的项目中还没有这个库,可以通过Maven或Gradle将其添加到依赖管理中。对于Maven,可以在pom....
除了`JSONObject`,`org.json`包还提供了其他类,如`JSONArray`用于处理JSON数组,`JSONStringer`和`JSONWriter`用于构建复杂的JSON结构,以及`JSONException`用于捕获处理JSON时可能出现的异常。这些工具类使得...
`JsonObject`是一个在Java开发中常用的JSON处理库,主要用于创建、解析和操作JSON对象。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。在Java中,...
1. `org.json.jar`:这是核心的JSONObject库,包含了JSONObject、JSONArray、JSONString、JSONTokener等相关类,用于创建、操作和解析JSON数据。 2. 可能还需要其他的jar包,如`javax.json.*`或`...
在Java中,处理JSON数据时,一个常用的库是`JSONObject`,它来自于org.json包。这个`JAVA JSONObject Jar包`包含了处理JSON对象所需的类和方法。 JSONObject是org.json库中的核心类,它允许我们创建、读取和修改...
`JSONArray`是org.json库中的一个核心类,它允许我们创建、读取和操作JSON数组。这个库是由Douglas Crockford开发的,他也是JSON(JavaScript Object Notation)规范的主要贡献者之一。JSON是一种轻量级的数据交换...
- 也可以从字符串、流或XML转换得到 `JSONObject` 2. **解析JSONObject** - 使用 `get()` 方法获取键对应的值,如 `obj.get("key")` - 如果值是另一个 `JSONObject` 或 `JSONArray`,可以递归解析 - 使用 `has...
本篇文章将详细探讨JSONArray的使用,包括其创建、添加元素、遍历、获取元素以及序列化和反序列化的操作。 一、JSONArray的创建 首先,我们需要引入org.json库。在Java项目中,可以通过Maven或Gradle等构建工具...
同时,`JSONObject`可以与`JSONArray`配合使用,处理JSON数组中的数据。 为了在Java项目中使用`JSONObject`,你需要将对应的jar包添加到项目的类路径中。在传统的Java应用中,这可以通过在`build.gradle`文件中添加...
在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换...这样,你就可以在代码中调用如`JSONArray.parseArray(String json)`、`JSONObject.fromObject(Object obj)`等方法,轻松地进行JSON操作了。
其中,`JSONObject`是Java中处理JSON的一种常用工具类,它源自开源库org.json。当我们使用`JSONObject`时,有时会遇到一些问题,比如在尝试将Java对象转换为`JSONArray`时可能会遇到`JSONArray.fromObject()`方法...
如果你需要在XML和JSON间来回切换,`JSONObject.fromXML()`和`JSONObject.toXML()`方法将非常有用。这使得在不同的数据交换格式之间进行数据转换变得更加方便。 在实际开发中,这个Jar包适用于Web服务、数据交换、...