前情提要
JSON應該是目前web開發(甚至是Andriod開發)來說用的比較多的一種數據交換格式了吧,到現在爲止,出現了很多的JSON支持庫,比較流行的有fastjson、jackjson和gson等。現在就來學習使用SpringBoot來發送json格式數據吧
使用SpringBoot直接發送json格式數據
使用SpringBoot來發送json格式數據其實很簡單,只需要自定義一個簡單的entity實體類就可以進行發送了,因爲在SpringBoot內部已經實現了json相關的轉換,我們只需要返回一個封裝好的實體類對象就可以了,在後臺接受的值就是一個json字符串。閒言少敘,現在就來開始實現一個簡單的例子吧
首先創建一個實例類
package org.framework.demo.section1;
import java.io.Serializable;
public class JObject implements Serializable {
private String username;
private String password;
public JObject(){
}
public JObject(String username, String password){
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
然後,編寫返回json格式數據的url
package org.framework.demo.section1;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("demo")
public class HelloWorld {
@RequestMapping("/getjson")
public JObject getJson(){
return new JObject("chengxi","970624");
}
}
最後,就可以編寫tomcat啓動類了
package org.framework.demo.section1;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Main{
public static void main(String[] args){
SpringApplication.run(HelloWorld.class, args);
}
}
然後,我們run Main,使用postman(如果沒有,可以直接使用瀏覽器進行測試)輸入網址:localhost:8080/demo/getjson
可以看到最終輸出的值是一個json格式字符串
使用其他的json庫來發送json格式數據
前面的例子我們使用的SpringBoot來直接發送json格式數據的,如果我們想要使用自己的json庫來發送數據也可以,這裏我就以google的gson爲例子
首先創建一個實體類,我就直接使用前面例子的JObject了
然後編寫url處理類:
package org.framework.demo.section1
import com.google.gson.Gson
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
@RestController
@RequestMapping("demo")
public class HelloWorld {
@RequestMapping("getgjson")
public String getFJson(){
JObject obj = new JObject("chengxi","chengxi")
Gson gson = new Gson()
return gson.toJson(obj)
}
}
tomcat啓動類依然不變,打開postman進行測試:localhost:8080/demo/getgjson
會發現依舊成功輸入json格式字符串,其餘的fastjson/jackjson的使用就不一一介紹了,其原理都是一樣的