/**
* 将json数字字符串转化为相应对象集合
* @param jsonArray json数组字符串
* @param clazz Class类型
* @return
* @throws Exception
*/
public static<T> List<T> parseJSONArray(String jsonArray,Class<T> clazz) throws Exception{
List<T> list = new ArrayList<T>();
String datas = jsonArray.substring(1, jsonArray.length()-1);
String[] sps = datas.split("},");
for (String sp : sps) {
if(sp.indexOf("}")!=sp.length()-1){
sp=sp+"}";
}
T obj = parseJSON(sp, clazz);
list.add(obj);
}
return list;
}
/**
* 将单个json 对象转化为java对象
* @param json
* @param clazz
* @return
* @throws Exception
*/
public static <T> T parseJSON(String json,Class<T> clazz) throws Exception{
String data=json.substring(1, json.length()-1);
String[] sps = data.split(",");
T newInstance = clazz.newInstance();
BeanInfo beanInfo = Introspector.getBeanInfo(clazz);
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {
for (String sp : sps) {
String[] kv = sp.split(":");
if(propertyDescriptor.getName().equals(kv[0])){
Method wMethod = propertyDescriptor.getWriteMethod();
Class pt=propertyDescriptor.getPropertyType();
if(!pt.getName().equals("java.lang.String")){
wMethod.invoke(newInstance,parseType(kv[1],pt ));
}else{
wMethod.invoke(newInstance, kv[1]);
}
}
}
}
return newInstance;
}
/**
* 将字符串转为基本包装类型
* @param value
* @param t
* @return
* @throws Exception
*/
public static <T> T parseType(String value,Class<T> t) throws Exception{
String type=t.getSimpleName();
Constructor<T> constructor = t.getConstructor(String.class);
return (T) constructor.newInstance(value);
}
java中json拼接数组 json数组转java数组
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java 中数组的使用(一维数组和二维数组)
本文详细的介绍了,在Java 中数组的使用,并对其内存存在形式进行了详细的分析。
数组 一维数组 二维数组 java基础 -
json 数组 python json 数组拼接
第一种: 直接用var进行拼接。//循环遍历json数组 for ( var i=0;i<jsonobjs.length;i++){ jsonstr += "<tr>" ; jsonstr += "<td>" +jsonobjs[i].name+ "</td>" ;
json 数组 python json javascript i++ json数组 -
java json转化数组 java json对象转json数组
Java类对象转json字符串:
java json转化数组 json字符串 json对象 json -
海康统一软件架构落地
一、方案背景 随着经济的发展、信息化进程不断推进,导致相关危化企业安全生产、储藏、运输的管理信息量急剧增加,使政府遇到突发事件的判定、决策、处置管理中的各种矛盾日益凸显。由于危化品种类繁多,生产线分布广泛、生产现场环境复杂。为规范化工厂安全生产管理,保障化工装置区域安全,有序控制化工厂安全生产,快速的进行安全突发事件的应急处置,建立一套有效的“综合安防系统”是非常有必要的。同时对于化工厂安全生产综
海康统一软件架构落地 可视化安防视频监控系统方案 视频融合监控汇聚云平台 远程视频监控系统 视频汇聚融合兼容方案