在Android開發中,我們經常需要從服務器端獲取json數據,然后解析成Java對象進行業務處理。為了方便,我們可以使用Google開源的gson庫來解析json數據。下面我們來看一下如何使用gson來請求json數據。
//引入gson庫的依賴 dependencies { implementation 'com.google.code.gson:gson:2.8.5' }
我們先定義一個Java Bean類,用來存儲json數據的各個字段:
public class User { private String name; private int age; private Listinterests; //getters and setters... }
接著,在Activity中創建一個HttpURLConnection對象來請求json數據:
try { URL url = new URL("http://example.com/user.json"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); //讀取請求數據流 InputStream inputStream = connection.getInputStream(); //把數據流轉換成字符串 BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder sb = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { sb.append(line); } String json = sb.toString(); //解析json數據 Gson gson = new Gson(); User user = gson.fromJson(json, User.class); //使用解析后的Java對象進行業務處理 } catch (Exception e) { e.printStackTrace(); }
上面的代碼中,先將請求的數據流轉換成字符串,然后再使用gson的fromJson方法將json字符串解析成Java對象。這樣我們就可以使用解析后的Java對象來進行業務處理了。
總之,如果我們想要使用Java對象來操作json數據,就可以通過gson來實現。同時,我們也應該注意網絡請求需要在子線程中進行。
上一篇mysql語言基本操作