import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
* JSON和JAVA的POJO的相互转换
*
* @author ptah 2009-10-16 JSONUtil.java
*/
public final class JSONUtil {
// 将String转换成JSON
public static String string2json(String key, String value) {
JSONObject object = new JSONObject();
object.put(key, value);
return object.toString();
}
// 将JSON转换成数组,其中valueClz为数组中存放的对象的Class
public static Object json2Array(String json, Class valueClz) {
JSONArray jsonArray = JSONArray.fromObject(json);
return JSONArray.toArray(jsonArray, valueClz);
}
// 将Collection转换成JSON
public static String collection2json(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
// 将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,
// valueClz为Collection中存放的对象的Class
public static Collection json2Collection(String json, Class collectionClz,
Class valueClz) {
JSONArray jsonArray = JSONArray.fromObject(json);
return JSONArray.toCollection(jsonArray, valueClz);
}
// 将数组转换成JSON
public static String array2json(Object object) {
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
// 将Map转换成JSON
public static String map2json(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object);
return jsonObject.toString();
}
// 将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的key
public static Map json2Map(Object[] keyArray, String json, Class valueClz) {
JSONObject jsonObject = JSONObject.fromObject(json);
Map classMap = new HashMap();
for (int i = 0; i < keyArray.length; i++) {
classMap.put(keyArray[i], valueClz);
}
return (Map) JSONObject.toBean(jsonObject, Map.class, classMap);
}
// 将POJO转换成JSON
public static String bean2json(Object object) {
JSONObject jsonObject = JSONObject.fromObject(object);
return jsonObject.toString();
}
// 将JSON转换成POJO,其中beanClz为POJO的Class
public static Object json2Object(String json, Class beanClz) {
return JSONObject.toBean(JSONObject.fromObject(json), beanClz);
}
// 将JSON转换成String
public static String json2String(String json, String key) {
JSONObject jsonObject = JSONObject.fromObject(json);
return jsonObject.get(key).toString();
}
}
分享到:
相关推荐
JSON到Java Bean转换工具,如"json2javabean"和"josnschema2pojo",是开发人员在处理JSON数据与Java对象之间转换时的便利工具。这些工具能够根据JSON格式的数据自动生成对应的Java类,使得数据绑定变得更加简单和...
JSON后台相互转换 JSON是JavaScript对象表示法,也是一种轻量级的数据交换格式。它基于ECMAScript编程语言,易于阅读和编写,同时也易于机器解析和生成。在Java后台开发中,经常需要将JSON格式的数据转换为Java对象...
* JSON 与 POJO 的相互转化:包括将 POJO 转化为 JSON、将 JSON 转化为 POJO 等。 * JSON 与 POJO 的映射技术:包括反射机制、注解机制等。 四、异构数据库与 JSON 的映射研究 * 异构数据库与 JSON 的映射技术:...
在研究中,我们对 JSON 和 POJO 之间的映射进行了深入研究,讨论了 JSON 的解码、JSON 与 XML 的比较、JSON 与 POJO 的相互转化等问题,并对将 JSON 融入 ORM 的技术进行了探讨。 此外,我们还对异构数据库与 JSON ...
(3)设计和实现基于JSON的异构数据库整合系统。 第2章 异构数据库整合 2.1 数据库 2.1.1 数据库简介 数据库是指存储和管理数据的仓库。数据库管理系统是指用于管理和维护数据库的软件系统。 2.1.2 本文所研究...
7. JSON 与 POJO 之间的映射:JSON 和 POJO(Plain Old Java Object)之间可以进行相互转化,实现数据的序列化和反序列化。 8. 异构数据库与 JSON 的映射技术:异构数据库与 JSON 之间的映射技术可以实现异构数据库...
通过深入研究`json-lib`的源码,开发者不仅可以了解JSON处理的基本原理,还能学习到如何设计和实现高效的转换库,这对于提升Java开发技能大有裨益。同时,由于`json-lib`是一个成熟的开源项目,其源码还展示了良好的...
这个库可以帮助开发者更方便地操作Java对象的属性,进行Bean之间的复制,以及实现POJO(Plain Old Java Object)与Map的相互转换。在处理JSON数据时,这个库可以用来将Java对象转换成JSON格式,或者将接收到的JSON...
3. **json-lib-2.4-jdk13.jar**:这是一个针对多种Java平台的JSON处理库,它提供了将JSON与其他数据格式(如JavaBean、XML、DOM、POJO等)相互转换的功能。在Java中,我们可以通过这个库方便地进行JSON的序列化和反...
它能够将Java集合、JDBC结果集、JavaBean、POJO等对象转换为JSON格式,同时也可以将JSON文本转换回Java对象。json-lib支持多种流行的数据模型,如Apache Commons BeanUtils、Google Guava、Hibernate等。 在Java...
在Java编程中,经常需要处理数据的序列化和反序列化,其中ArrayList<Map<Object>>与JSON之间的转换是一个常见的需求。JSON是一种轻量级的数据交换格式,广泛用于互联网应用中的数据传输,因为它易于阅读和编写,同时...
5. **自定义序列化和反序列化**:如果你需要自定义某些类的序列化和反序列化行为,`json-lib`允许你通过实现`JsonSerializer`和`JsonDeserializer`接口来实现自己的转换逻辑。 6. **性能和效率**:虽然JSON库的选择...
3.3 JSON与POJO的相互转化 转化过程涉及到POJO的序列化和反序列化,使得数据在Java对象和JSON之间自由流动,便于在数据库与应用程序间传输。 3.4 JSON融入ORM(Object-Relational Mapping) ORM框架如Hibernate、...
在描述中提到的JSON和JAVA的POJO的相互转换源码,这涉及到序列化和反序列化的过程。序列化是将Java对象转化为JSON字符串,而反序列化则是将JSON字符串转化为Java对象。以Jackson为例,`ObjectMapper`类提供了`...
此外,`JSONObject`还支持与Java集合框架的相互转换,如ArrayList和HashMap,这大大简化了JSON数据的处理。 在项目中引入`org.json.JSONObject`依赖,通常有以下步骤: 1. 添加依赖:如果你使用的是Maven,可以在`...
总的来说,Jackson是一个功能丰富的JSON处理库,它提供了多种方式来实现JSON与其他数据类型的转换,同时也考虑了性能、安全性和灵活性。无论你是简单的JSON操作,还是复杂的数据绑定,Jackson都能胜任。通过深入学习...
"JSON必用jar包大全"可能包含了其他常用的JSON处理库,比如上述提到的Gson、Jackson等,这些库都有各自的优点和适用场景,可以互相补充,共同提供全面的JSON处理能力。在实际项目中,开发者可以根据性能、易用性、...
基于属性访问或注解的方式将json和POJO对象互相转换, 受JAXB基于注解的处理方式启发。通过org.codehaus.jackson.map.ObjectMapper读写json数据。它包含两种类型: 3.1 Simple Data Binding 用于json和Java Maps, ...
使用Jackson,我们可以使用`ObjectMapper`类来实现JSON和Java对象的相互转换。例如,解析上述JSON: ```java import com.fasterxml.jackson.databind.ObjectMapper; public class Person { private String name; ...