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

实现JSON和POJO的相互转换

阅读更多

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();     
     }     
      
 }     
 
分享到:
评论

相关推荐

    json2javabean josnschema2pojo

    JSON到Java Bean转换工具,如"json2javabean"和"josnschema2pojo",是开发人员在处理JSON数据与Java对象之间转换时的便利工具。这些工具能够根据JSON格式的数据自动生成对应的Java类,使得数据绑定变得更加简单和...

    JSON后台相互转换.docx

    JSON后台相互转换 JSON是JavaScript对象表示法,也是一种轻量级的数据交换格式。它基于ECMAScript编程语言,易于阅读和编写,同时也易于机器解析和生成。在Java后台开发中,经常需要将JSON格式的数据转换为Java对象...

    本科毕业设计--基于json的异构数据库整合研究.doc

    * JSON 与 POJO 的相互转化:包括将 POJO 转化为 JSON、将 JSON 转化为 POJO 等。 * JSON 与 POJO 的映射技术:包括反射机制、注解机制等。 四、异构数据库与 JSON 的映射研究 * 异构数据库与 JSON 的映射技术:...

    学士学位论文--基于json的异构数据库整合研究.doc

    在研究中,我们对 JSON 和 POJO 之间的映射进行了深入研究,讨论了 JSON 的解码、JSON 与 XML 的比较、JSON 与 POJO 的相互转化等问题,并对将 JSON 融入 ORM 的技术进行了探讨。 此外,我们还对异构数据库与 JSON ...

    毕设论文--于基json的异构数据库整合研究.doc

    (3)设计和实现基于JSON的异构数据库整合系统。 第2章 异构数据库整合 2.1 数据库 2.1.1 数据库简介 数据库是指存储和管理数据的仓库。数据库管理系统是指用于管理和维护数据库的软件系统。 2.1.2 本文所研究...

    于基json的异构数据库整合研究--本科毕业设计.doc

    7. JSON 与 POJO 之间的映射:JSON 和 POJO(Plain Old Java Object)之间可以进行相互转化,实现数据的序列化和反序列化。 8. 异构数据库与 JSON 的映射技术:异构数据库与 JSON 之间的映射技术可以实现异构数据库...

    json-lib最新版本 含源码

    通过深入研究`json-lib`的源码,开发者不仅可以了解JSON处理的基本原理,还能学习到如何设计和实现高效的转换库,这对于提升Java开发技能大有裨益。同时,由于`json-lib`是一个成熟的开源项目,其源码还展示了良好的...

    json-jar包

    这个库可以帮助开发者更方便地操作Java对象的属性,进行Bean之间的复制,以及实现POJO(Plain Old Java Object)与Map的相互转换。在处理JSON数据时,这个库可以用来将Java对象转换成JSON格式,或者将接收到的JSON...

    JSON需要的jar

    3. **json-lib-2.4-jdk13.jar**:这是一个针对多种Java平台的JSON处理库,它提供了将JSON与其他数据格式(如JavaBean、XML、DOM、POJO等)相互转换的功能。在Java中,我们可以通过这个库方便地进行JSON的序列化和反...

    JSON jar包

    它能够将Java集合、JDBC结果集、JavaBean、POJO等对象转换为JSON格式,同时也可以将JSON文本转换回Java对象。json-lib支持多种流行的数据模型,如Apache Commons BeanUtils、Google Guava、Hibernate等。 在Java...

    java中ArrayListMapObject与Json互相转换.pdf

    在Java编程中,经常需要处理数据的序列化和反序列化,其中ArrayList&lt;Map&lt;Object&gt;&gt;与JSON之间的转换是一个常见的需求。JSON是一种轻量级的数据交换格式,广泛用于互联网应用中的数据传输,因为它易于阅读和编写,同时...

    json-lib-v2.4

    5. **自定义序列化和反序列化**:如果你需要自定义某些类的序列化和反序列化行为,`json-lib`允许你通过实现`JsonSerializer`和`JsonDeserializer`接口来实现自己的转换逻辑。 6. **性能和效率**:虽然JSON库的选择...

    基于json的异构数据库整合研究--大学毕业论文.doc

    3.3 JSON与POJO的相互转化 转化过程涉及到POJO的序列化和反序列化,使得数据在Java对象和JSON之间自由流动,便于在数据库与应用程序间传输。 3.4 JSON融入ORM(Object-Relational Mapping) ORM框架如Hibernate、...

    实体类反射非空赋值,AjaxJson工具类

    在描述中提到的JSON和JAVA的POJO的相互转换源码,这涉及到序列化和反序列化的过程。序列化是将Java对象转化为JSON字符串,而反序列化则是将JSON字符串转化为Java对象。以Jackson为例,`ObjectMapper`类提供了`...

    org.json.JSONObject引用依赖包

    此外,`JSONObject`还支持与Java集合框架的相互转换,如ArrayList和HashMap,这大大简化了JSON数据的处理。 在项目中引入`org.json.JSONObject`依赖,通常有以下步骤: 1. 添加依赖:如果你使用的是Maven,可以在`...

    jackjson类型转换各种方法

    总的来说,Jackson是一个功能丰富的JSON处理库,它提供了多种方式来实现JSON与其他数据类型的转换,同时也考虑了性能、安全性和灵活性。无论你是简单的JSON操作,还是复杂的数据绑定,Jackson都能胜任。通过深入学习...

    json必用包括morph-1.1.1.jar

    "JSON必用jar包大全"可能包含了其他常用的JSON处理库,比如上述提到的Gson、Jackson等,这些库都有各自的优点和适用场景,可以互相补充,共同提供全面的JSON处理能力。在实际项目中,开发者可以根据性能、易用性、...

    jackson-jar

    基于属性访问或注解的方式将json和POJO对象互相转换, 受JAXB基于注解的处理方式启发。通过org.codehaus.jackson.map.ObjectMapper读写json数据。它包含两种类型: 3.1 Simple Data Binding 用于json和Java Maps, ...

    JAVA 解析JSON格式数据

    使用Jackson,我们可以使用`ObjectMapper`类来实现JSON和Java对象的相互转换。例如,解析上述JSON: ```java import com.fasterxml.jackson.databind.ObjectMapper; public class Person { private String name; ...

Global site tag (gtag.js) - Google Analytics