##直接上干货 这里实现的是一个 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]
···