美文网首页JAVA
java中Json转换解析 之 Jsonlib工具类

java中Json转换解析 之 Jsonlib工具类

作者: 清风徐来水波不清 | 来源:发表于2018-01-06 21:40 被阅读7次

json是一种使用分厂广泛的轻量级数据交换格式,他能将对象义字符串的形式保存,类似于XML但是Json更小、更快,更易解析.
在java中有各种各样的java解析方式,今天我们一起学习jsonlib框架.为了以后使用方便一下程序将以工具类形式体现

  • 准备

    1. Json-lib下载及使用,工具下载地址:http://sourceforge.net/projects/json-lib/?source=directory
    2. 导入依赖包
      • commons-beanutils-1.8.0.jar
      • commons-collections-3.2.1.jar
      • commons-lang-2.5.jar
      • commons-logging-1.1.1.jar
      • ezmorph-1.0.6.jar
      • json-lib-2.4-jdk15.jar
    3. 创建工具类 JsonLibUtil
  • java对象转换为Json字符串

    1. 基本java对象的转换
      // 传入对象 obj
      public static <T> String object2Json(T obj){
        JSONObject jsonObject  = JSONObject.fromObject(obj);
        String str =jsonObject.toString();
        return str;
      }
    
    1. List 集合对象的转换
      //传入List集合 
      public static   String list2Json(List obj){
        JSONArray array = JSONArray.fromObject(obj);
        return array.toString();
      }
    
    1. Map 集合的转换
      public static  String object2Json(Map obj){
        JSONObject jsonObject  = JSONObject.fromObject(obj);
        String str =jsonObject.toString();
        return str;
       }
    
    1. 将xml转换为json
      public static   String xml2Json(String xml){
          JSONArray array = (JSONArray) new  XMLSerializer().read(xml);
          return array.toString();
       }
    
  • 过滤字段

      public static JsonConfig excludeField(String...field){
        JsonConfig config =new JsonConfig();
        config.setExcludes(field);
        config.setIgnoreDefaultExcludes(true);
        config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
        return config ;
      }
    
    • 传入需要过滤的字段,可以传入多个过滤参数,在转换的时候将JsonConfig传入
      JsonConfig jsonConfig = JsonlibUtils.excludeField("id","name");
      JSONObject.fromObject(obj, jsonConfig)
      

相关文章

网友评论

    本文标题:java中Json转换解析 之 Jsonlib工具类

    本文链接:https://www.haomeiwen.com/subject/xidunxtx.html