下载
到http://json-lib.sourceforge.net下载json-lib-1.1-jdk15.jar,运行json还需要的包有:commons-lang.jar、commons-logging.jar,commons-beanutils.jar、xom-1.0-2005-01-05.jar、ezmorph-1.0.1.jar,可在http://www.docjar.com搜索下载。
l 转化数组和集合
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray = JSONArray.fromObject(boolArray);
System.out.println(jsonArray);
输出:[true,false,true]
List list = new ArrayList();
list.add(“第一个”);
list.add(“第二个”);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
输出:[“第一个”, “第二个”]
JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");
System.out.println(jsonArray3);
输出:[“json”, “is”, “'easy'”]
l 转化对象
转化Map
Map map = new HashMap();
map.put("name","json");
map.put("bool",Boolean.TRUE);
map.put("int",new Integer(1));
map.put("arr",new String[]{"a","b"});
map.put("func","function(i){return this.arr[i];}");
JSONObject json = JSONObject.fromObject(map);
System.out.println(json);
输出:[“name”: “json”, “bool”:true, “int”,1, “arr”:[ “a”, “b”], “func”:function(i){return this.arr[i];}]
转化Bean
MyBean.java
public class MyBean {
private String name = "json";
private int pojoId = 1;
private String func1 = "function(i){return this.options[i]}";
private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");
//以下为get、set方法
}
MyBean bean = new MyBean();
JSONObject jsonObject = JSONObject.fromObject(bean);
System.out.println(jsonObject);
输出:
{"func1":function(i){return this.options[i]},"pojoId":1,"name":"json","func2":function(i){ return this.options[i]; }
从JSON到Beans
//转化为动态bean
String myjson = "{name=\"json\",bool:true,int:1,double:2.2,function:function(a){return a;},array:[1,2]}";
JSONObject json1 = JSONObject.fromString(myjson);
Object bean1 = JSONObject.toBean(json1);
由JSON生成XML
JSONObject json = new JSONObject(true);
XMLSerializer xmlSerializer = new XMLSerializer();
String xml = xmlSerializer.write(json);
System.out.println("xml:" + xml);
输出:xml:<?xml version="1.0" encoding="UTF-8"?>
<o null="true"/>
JSONObject json2 = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"int\":1}");
String xml2 = xmlSerializer.write(json2);
System.out.println("xml2:" + xml2);
输出:xml2:<?xml version="1.0" encoding="UTF-8"?>
<o><bool type="boolean">true</bool><int type="number">1</int><name type="string">json</name></o>
JSONArray json3 = JSONArray.fromObject("[1,2,3]");
String xml3 = xmlSerializer.write(json3);
System.out.println("xml3:" + xml3);
输出:xml3:<?xml version="1.0" encoding="UTF-8"?>
<a><e type="number">1</e><e type="number">2</e><e type="number">3</e></a>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jawsy/archive/2007/04/09/1557165.aspx
分享到:
相关推荐
2. **Java对象到JSON的转换**:json-lib支持将Java对象如HashMap、ArrayList等直接转换成JSON格式,如`JSONObject.fromObject()`和`JSONArray.fromObject()`方法。 3. **JSON到Java对象的反序列化**:反之,它也...
例如,可以使用`net.sf.json.JSONObject`来表示一个JSON对象,`net.sf.json.JSONArray`表示JSON数组。 2. **灵活性**:它支持多种Java类型到JSON的转换,包括基本类型、集合、Map、自定义类等。同时,也可以将JSON...
2. 创建JSON对象:使用JSON-lib提供的方法将Java对象转化为JSON对象,例如使用`net.sf.json.JSONObject`或`net.sf.json.JSONArray`。 3. 序列化和反序列化:通过`fromObject()`和`toObject()`方法将Java对象序列...
3. 使用`JSONObject`或`JSONArray`等类来创建JSON对象,或者将Java对象转换为JSON。 4. 如果需要,可以利用`fromObject()`和`toObject()`方法在JSON和Java对象之间进行转换。 5. 对于XML和JSON的互转,可以使用`XML....
3. **自定义序列化**:通过实现JSONAware接口或使用JSONSerializer的transform方法,开发者可以定制JSON序列化过程,比如忽略某些属性或者自定义特定字段的格式。 4. **性能优化**:虽然json-lib是一个强大的库,但...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛...通过对`JsonObject.fromObject()`和`JsonArray.fromObject()`方法的熟练使用,开发者可以高效地处理JSON数据,提高代码的可读性和可维护性。
然后使用`JSONArray.fromObject()`或`JSONObject.fromObject()`方法将Java对象转换为JSON。 例如,将一个简单的Java Bean转换为JSON: ```java public class Person { private String name; private int age; /...
5. **依赖包的集成**:`json-lib-2.3-jdk15`开发包包含了所有必要的依赖,这意味着你不需要额外引入其他库就能使用`json-lib`的所有功能。这简化了项目构建过程,减少了因依赖管理问题引发的错误。 6. **兼容性**:...
1. **JSON到Java对象转换**:通过JsonNode、JSONArray和JSONObject等类,json-lib可以解析JSON字符串并生成对应的Java对象。例如,一个JSON对象可以被映射为一个HashMap,而一个JSON数组则可以转换为ArrayList。 2....
6. **API使用**:理解JSON-lib提供的核心类,如JSONObject、JSONArray、JSONUtil等,以及它们的方法,是有效使用此库的关键。开发者需要学习如何创建、读取、修改JSON对象和数组,以及如何在Java对象和JSON数据之间...
如果你接收到一个JSON字符串,你可以使用`JSONObject.toBean()`或`JSONArray.toList()`方法将它转换回相应的Java对象,如HashMap、ArrayList或其他自定义类的实例。 3. **处理数组和集合**:JSON-Lib支持将Java的...
6. **JSONPath支持**:JSON-Lib提供了一种类似XPath的方式来查询JSON数据,通过`JSONArray jsonArray = JSONPath.eval(jsonObject, "$.path");`可以获取指定路径下的JSON元素。 7. **性能优化**:虽然JSON-Lib功能...
例如,你可以创建一个Java对象,然后使用JSONObject将其转换为JSON: ```java Map, String> map = new HashMap(); map.put("name", "John"); map.put("age", "30"); JSONObject jsonObject = JSONObject.fromObject...
对于更复杂的情况,你可以利用`JSONArray`类来处理JSON数组,或者使用`XMLJSONBean`进行XML与JSON之间的转换。在实际开发中,理解并熟练运用这些功能能极大地提升处理JSON数据的效率。 为了进一步学习和实践,你...
6. **过滤和转换**:可以使用`JSONObject.transform()`和`JSONArray.transform()`方法对JSON对象进行转换,例如,过滤或修改某些属性值。 7. **错误处理**:在进行JSON操作时,需要注意可能出现的异常,如`...
1. `json-lib-2.4-jdk15.jar`:这是主要的库文件,包含`JSONArray`、`JSONObject`等核心类。 2. 其他依赖库,如`commons-beanutils.jar`、`commons-collections.jar`、`commons-lang.jar`和`ezmorph.jar`:这些是`...
2. **Java对象到JSON的转换**:`json-lib`提供了`net.sf.json.JSONObject.fromObject(Object obj)`和`net.sf.json.JSONArray.fromObject(Object obj)`方法,可以将Java的POJO(Plain Old Java Object)对象转换为...
源码中的关键类如`JSONArray`、`JSONObject`、`JSONSerializer`和`JSON怡化器`等提供了丰富的API,是学习JSON处理的好材料。 此外,了解`json-lib`的源码也有助于开发者在遇到问题时快速定位原因,比如解析错误、...
3. **JSON转对象**:使用`JSONObject.toBean(jsonObject)`或`JSONArray.toList(jsonArray)`将JSON数据转换回Java对象或列表。 4. **处理复杂类型**:对于更复杂的类型如日期、自定义对象等,可能需要注册适配器或...
例如,你可以使用`net.sf.json.JSONObject`来创建和操作JSON对象,或者使用`net.sf.json.JSONArray`处理JSON数组。 3. **json-lib-2.2.2-jdk15-sources.jar**:这个文件包含了json-lib的源代码,对于开发者来说,这...