本文目录一览:
怎么将json对象转换成一个java对象
public static void jsonStrToJava(){
//定义两种不同格式的字符串
String objectStr="{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}";
String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}]";
//1、使用JSONObject
JSONObject jsonObject=JSONObject.fromObject(objectStr);
Student stu=(Student)JSONObject.toBean(jsonObject, Student.class);
//2、使用JSONArray
JSONArray jsonArray=JSONArray.fromObject(arrayStr);
//获得jsonArray的第一个元素
Object o=jsonArray.get(0);
JSONObject jsonObject2=JSONObject.fromObject(o);
Student stu2=(Student)JSONObject.toBean(jsonObject2, Student.class);
System.out.println("stu:"+stu);
System.out.println("stu2:"+stu2);
}
json格式的字符串转换为java对象
先来解释反斜杠干嘛用的:
你既然提到了是json字符串,对,请注意字符串三个字。什么是字符串?两个引号之间的就是一个字符串比如:"abcdefg"这就是字符串.
假如我有个json对象:
{
"message" : "success"
}
那么问题来了,怎么把它放到一个String字符串对象里呢?
那么我们都会这么做:
String json = "{"message":"success"}";
对吧?但是这么做对吗?前面说过了,字符串是引号开始,引号结尾的,再看一眼这么做对吗?
所以我们需要转义字符去将引号放入字符串当中,而不是字符串定义的功能。“ \" ”就是表示将双引号放入字符串中。
2. json字符串转java对象
下面以ali的fastjson为例,讲解json字符串转json对象:
String jsonStr = "{\"message\" : \"success\"}";
JSONObject jsonObject = JSON.parseObject(jsonStr);
String message = jsonObject.getString("message");
System.out.println(message);
假如你有想要转换成的bean :
public class Info {
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
就可以这样:
String jsonStr = "{\"message\" : \"success\"}";
Info info = JSON.parseObject(jsonStr, Info.class);
System.out.println(info.getMessage());
这里的fastjson只是处理json的框架中的一个,此外还有jackson、Gson等等,可以根据自己的需求选择一个就可以了。
json数组转java对象怎么转
json-lib,注册对象的class,,,,,,然后解析 jsonObject
import java.util.Map;
import net.sf.json.JSONObject;
public class JsonLib {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
/**
* 将 JSON 对象转换(解析)为 Map
*/
String str = "{\"name\":\"Tom\",\"age\":90}";
JSONObject jsonObject = JSONObject.emfromObject/em(str);
MapString, Object map = (MapString, Object) JSONObject.emtoBean/em(jsonObject, Map.class);
System.out.println(map);
// {age=90, name=Tom}
/**
* 将 JSON对象转换(解析)为 JavaBean
*/
str = "{\"id\":\"A001\",\"name\":\"Jack\"}";
jsonObject = JSONObject.fromObject(str);
System.out.println(jsonObject); //JSONObject类型:{age=90, name=Tom}
Person person = (Person) JSONObject.toBean(jsonObject, Person.class);
System.out.println(person); //Person [id=A001, name=Jack]
}
}
~
~
~