一.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
1.commons-lang-2.0.jar
2.commons-beanutils-1.7.0.jar
3.commons-collections-3.1.jar
4.commons-logging-1.1.1.jar
5.ezmorph-1.0.1.jar
6.json-lib-2.2.2-jdk15.jar
二.JSONObject对象使用
JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用 JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。
package com.bijian.json.study; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JSONObjectSample { // 创建JSONObject对象 private static JSONObject createJSONObject() { JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "kevin"); jsonObject.put("Max.score", new Integer(100)); jsonObject.put("Min.score", new Integer(50)); jsonObject.put("nickname", "picglet"); return jsonObject; } public static void main(String[] args) { JSONObject jsonObject = JSONObjectSample.createJSONObject(); // 输出jsonobject对象 System.out.println("jsonObject==>" + jsonObject); //jsonObject==>{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet"} // 判读输出对象的类型 boolean isArray = jsonObject.isArray(); boolean isEmpty = jsonObject.isEmpty(); boolean isNullObject = jsonObject.isNullObject(); System.out.println("isArray:" + isArray + " isEmpty:" + isEmpty + " isNullObject:" + isNullObject); //isArray:false isEmpty:false isNullObject:false // 添加属性 jsonObject.element("address", "swap lake"); System.out.println("添加属性后的对象==>" + jsonObject); //添加属性后的对象==>{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake"} // 返回一个JSONArray对象 JSONArray jsonArray = new JSONArray(); jsonArray.add(0, "this is a jsonArray value"); jsonArray.add(1, "another jsonArray value"); jsonObject.element("jsonArray", jsonArray); JSONArray array = jsonObject.getJSONArray("jsonArray"); System.out.println("返回一个JSONArray对象:" + array); //返回一个JSONArray对象:["this is a jsonArray value","another jsonArray value"] System.out.println(jsonObject); //{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake","jsonArray":["this is a jsonArray value","another jsonArray value"]} // 根据key返回一个字符串 String jsonString = jsonObject.getString("name"); System.out.println("jsonString==>" + jsonString); //jsonString==>kevin } }
运行结果:
jsonObject==>{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet"} isArray:false isEmpty:false isNullObject:false 添加属性后的对象==>{"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake"} 返回一个JSONArray对象:["this is a jsonArray value","another jsonArray value"] {"name":"kevin","Max.score":100,"Min.score":50,"nickname":"picglet","address":"swap lake","jsonArray":["this is a jsonArray value","another jsonArray value"]} jsonString==>kevin
得到JSONObject对象后我们就可以使用它的方法了,可以查看其API,我给出一个在线的API地址:http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/json/JSONObject.html
PS:commons-collections-1.0.jar运行过程中出现如下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap
后换commons-collections-3.1.jar,问题解决。
文章来源:http://hybxiaodao.iteye.com/blog/1107651
附一个JAR下载地址:http://www.findjar.com/index.x
相关推荐
`JSONObject`代表一个JSON对象,它是由键值对组成的,键必须是字符串,而值可以是各种JSON类型:字符串、数字、布尔值、数组(`JSONArray`)、其他`JSONObject`或`null`。在Java中,`JSONObject`类提供了丰富的API来...
`JSONObject`可以从一个Java对象创建,也可以解析为一个JSON字符串。例如,我们有一个简单的Java对象: ```java public class User { private String name; private int age; // getters and setters } ``` 要...
当你从服务器获取或从文件读取到一个JSON字符串时,可以使用`JSONObject`将其解析为可操作的对象。以下是如何进行解析的示例: ```java import net.sf.json.JSONObject; String jsonString = "{\"name\":\"张三\",...
除了`JSONObject`,`org.json`包还提供了其他类,如`JSONArray`用于处理JSON数组,`JSONStringer`和`JSONWriter`用于构建复杂的JSON结构,以及`JSONException`用于捕获处理JSON时可能出现的异常。这些工具类使得...
在这个例子中,我们使用`JSONObject.Parse`方法解析JSON字符串,并通过键来获取对应的值。注意类型转换,因为`JSONObject`中的值默认为`dynamic`类型,我们需要显式转换为实际类型。 此外,`com.force.json`还支持...
2. **通过JSONObject生成json串** 如果你已经有了一个Map对象,你可以创建一个`JSONObject`,然后使用`toJSONString()`方法将其转换为JSON字符串。例如: ```java Map, Object> map = new HashMap(); map.put(...
- `toString()`方法将JSONObject转换为JSON格式的字符串。 - `toMap()`方法将JSONObject转换为Java的Map对象。 8. 与其他数据结构交互: - 可以将JSONObject序列化为文件或网络流,或者反序列化从这些来源读取。...
可以将`JSONObject`对象转换回JSON字符串,或者将JSON字符串解析为`JSONObject`: ```java String jsonStringAgain = jsonObject.toString(); JSONObject jsonObjectAgain = new JSONObject(jsonStringAgain); ...
Google Gson库提供了一个强大的工具,使得Java对象与JSON字符串之间的转换变得简单易行。本文将详细介绍如何利用Google Gson库进行JSON字符串与对象之间的相互转换。 首先,我们需要了解Gson的核心概念。Gson库通过...
根据提供的信息,我们可以深入探讨如何在Kettle中解析JSON串,并连接数据库进行数据处理。本文将详细介绍使用Java库解析JSON的基本方法以及如何在Kettle环境中实现这一过程。 ### Kettle与JSON解析概述 #### 1. **...
一.下载json 具体到http://www.json.org/上找Java-json下载,并把其放到项目源...//将字符串转换成jsonObject对象 JSONObject myJsonObject = new JSONObject(jsonMessage); //获取对应的值 value1 = myJsonObject.g
2. **解析JSON字符串**:`JSONObject jsonObject = JSONObject.fromObject(jsonString);` 这将把JSON字符串转换为JSONObject对象。 3. **获取值**:使用get()方法可以获取存储的值,如 `String value = jsonObject....
1. **序列化和反序列化**:Json.NET 可以轻松地将.NET对象转换为JSON字符串,以及将JSON字符串解析成.NET对象。这对于数据交换和持久化非常有用。 2. **LINQ to JSON**:通过提供`JObject`、`JArray`等类型,Json...
本教程将详细介绍如何使用Volley进行网络请求,如何封装Volley以提高复用性,以及如何配合Gson处理JSON数据。 首先,Volley提供了一个强大的HTTP客户端,支持异步请求,并且内置了缓存机制,可以显著提升应用的性能...
1. **org.json**:这是一个小型、开源的Java库,提供了JSONObject类,用于创建和操作JSON对象。例如,你可以使用`new JSONObject()`创建一个空的JSONObject,然后通过`put()`方法添加键值对。 2. **com.google.gson...
`net.sf.json.JSONObject` 是json-lib中的核心类,它允许你将Java对象转换为JSON表示,并反之将JSON字符串解析为Java对象。这极大地简化了数据的序列化和反序列化过程。例如,你可以将一个HashMap转换为JSON对象,...
描述中提到了一个实例,也就是使用Jackson库将JSON字符串转换为Java对象(Map),然后使用org.json库读取JSON数组。实例中说明了遇到的困难,即在使用Map读取第一级数据之后,尝试读取数组中的特定值时遇到了问题,...