jsonobject是什么?jsonobject转java对象的方法

2022-05-07 cfan 网友分享
浏览

jsonobject是什么?下面小信就带大家了解一下关于jsonobject以及转java对象方法的相关知识,希望对大家有所帮助。

JSONObject是一种数据结构,可以理解为JSON格式的数据结构(key-value 结构),可以使用put方法给json对象添加元素。JSONObject可以很方便的转换成字符串,也可以很方便的把其他对象转换成JSONObject对象。

JsonObject的格式:

{"key1":value1,"key2",value2....}

key 必须是字符串。

jsonobject作用是什么?

JsonObject 就是常说的 json。是一种重要的数据传输对象。

因为ajax请求不刷新页面,但配合js可以实现局部刷新,因此json常常被用来作为异步请求的返回对象使用。

通过response.getWriter()获取PrintWriter pw,然后pw.print(json)。如果没有设置response.setContentType("application/json; charset=utf-8"); 则需要自己再js中进行解析。

JSONObject添加元素可以使用put(key,value)方法和调用元素方法get(key),这两种方法大家可以任选一种,另外JsonObject是一种重要的数据传输对象,是实际工作中是必不可少的。

jsonobject转java对象的方法

private Object json2Object(JSONObject json,Class pojo) throws Exception{

// 首先得到pojo所定义的字段

Field [] fields = pojo.getDeclaredFields();

// 根据传入的Class动态生成pojo对象

Object obj = pojo.newInstance();

for(Field field: fields){

// 设置字段可访问(必须,否则报错)

field.setAccessible(true);

// 得到字段的属性名

String name = field.getName();

// 这一段的作用是如果字段在JSONObject中不存在会抛出异常,如果出异常,则跳过。

try{

json.get(name);

}catch(Exception ex){

continue;

}

if(json.get(name) != null && !"".equals(json.getString(name))){

// 根据字段的类型将值转化为相应的类型,并设置到生成的对象中。

if(field.getType().equals(Long.class) || field.getType().equals(long.class)){

field.set(obj, Long.parseLong(json.getString(name)));

}else if(field.getType().equals(String.class)){

field.set(obj, json.getString(name));

} else if(field.getType().equals(Double.class) || field.getType().equals(double.class)){

field.set(obj, Double.parseDouble(json.getString(name)));

} else if(field.getType().equals(Integer.class) || field.getType().equals(int.class)){

field.set(obj, Integer.parseInt(json.getString(name)));

} else if(field.getType().equals(java.util.Date.class)){

field.set(obj, Date.Parse(json.getString(name)));

}else{

continue;

}

}

}

return obj;

}

上面就是小信给大家分享关于jsonobject是什么?jsonobject转java对象的方法的相关信息,希望可以帮到大家!