json与java实体类相互转换

##直接上干货 这里实现的是一个 json转实体类的底层方式,
如果是简单实体类的话,可以使用fastjson工具包中的 JSONObject.toJavaObject(Class)方法。
java实体类如下:

 public class VersionInfo {
    String productname;
    String productversion;
    List<String> features;
    List<String> enhances;
    List<String> compatibilitys;
    List<String> others;

  //省略set get
}

创建json字符串用于测试

VersionInfo versionInfo = infos.getVersionInfo();
        Gson gosn = new Gson();
        String json = gosn.toJson(versionInfo);

对上面得到的json进行解析

JSONObject param = null;
        try {
            param = new JSONObject(json);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        System.out.println(param);
        //========创建json======
        JSONArray featuresarray = null;
        JSONArray enhancesarray = null;
        JSONArray compatibilitysarray = null;
        JSONArray othersarray = null;
        try {
            featuresarray = param.getJSONArray("features");
            enhancesarray = param.getJSONArray("enhances");
            compatibilitysarray = param.getJSONArray("compatibilitys");
            othersarray = param.getJSONArray("others");
        //    System.out.println(featuresarray);
        //    System.out.println(enhancesarray);
        //    System.out.println(compatibilitysarray);
        //    System.out.println(othersarray);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        ArrayList<String> featuresarraylist = new ArrayList<>();
        ArrayList<String> enhancesarraylist = new ArrayList<>();
        ArrayList<String> compatibilitysarraylist = new ArrayList<>();
        ArrayList<String> othersarraylist = new ArrayList<>();
        for(int i=0;i<featuresarray.length();i++){
            featuresarraylist.add(featuresarray.get(i).toString());
        }
        for(int i=0;i<enhancesarray.length();i++){
            enhancesarraylist.add(enhancesarray.get(i).toString());
        }
        for(int i=0;i<compatibilitysarray.length();i++){
            compatibilitysarraylist.add(compatibilitysarray.get(i).toString());
        }
        for(int i=0;i<othersarray.length();i++){
            othersarraylist.add(othersarray.get(i).toString());
        }
        String productname = param.getString("productname");  //简单的直接获取值
        String productversion = param.getString("productversion");  //简单的直接获取值
        System.out.println(productname);
        System.out.println(productversion);
        System.out.println(featuresarraylist);
        System.out.println(enhancesarraylist);
        System.out.println(compatibilitysarraylist);
        System.out.println(othersarraylist);

    }
···
所引用的包

import com.google.gson.Gson; //用于生成json字符串测试对象,不是核心,可以不用
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
···
下面展示测试结果
···
数据处理11系统
12
[]
[1 数据管理系统(DM)优化启动、加载数据目录等功能, 2 本次针对V9.1_Alpha版做了大量优化及bug修复, 3 数据上传	提供了默认地图和数据源信息,简化项目部署]
[1本次产品发布均为新的子系统,新的产品单独成包,这里不再做说明。, 2注意:如果您的产品是V9.1_Alpha版本准备升级,请再核对V9.1_Alpha版本兼容性说明中的表和字段是否已经补全(V9.1_Alpha在发版后字段做过调整)]
[1 元数据库及空间库新增支持运行PostgreSQL]
···
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值