本文目錄一覽:
有關restful 怎麼把json對象直接映射成java對象
利用一些jar包對json解析即可。這裡推薦兩個:
1、fastjson,阿里巴巴開源的json解析包。
使用方便,速度較快,下面的代碼可以很快的解析JSON得到Java對象:
1
JSONObject jo = JSONObject.parseObject(json);
2、jackson,國外開源的json解析包,也很流行。
其最大的特點是支持流模式的JSON數據解析,這樣在解析較大的json數據時很有優勢。
JsonToken result = null;
int i = 1;
while ((result = p.nextToken()) != null) {
System.out.println(“[” + i++ + “]” + result); // 根據result類型進行處理
}
JAVA中json轉對象
JSONObject.fromString(value) instanceof Object
所有對象都能轉Object肯定不會走else if。 你把下邊else if 去掉else 能轉MAP就會走下邊了吧。。自己理解不一定對
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對象映射成JavaBean
要麼你自己寫的利用反射把JSON對象映射到JavaBean,要麼你用Struts框架,導入json那些jar包,配置好。前台發送到後台的對象,會自動映射到action類事先聲明的對象里。網上可能有自動反射JSON對象映射到Javabean的jar包你可以找一下,我以前自己直接寫映射的,沒找到過。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196808.html