安卓开发之json解析
1、从网页获取json返回字符串
public class ReadNet extends AsyncTask<URL, Integer, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(URL... params) {
StringBuffer sb = new StringBuffer();
try {
HttpURLConnection connection = (HttpURLConnection) params[0].openConnection();
InputStream is = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String readLine;
while ((readLine = reader.readLine()) != null) {
sb.append(readLine);
sb.append("\n");
}
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();//得到json
}
@Override
protected void onPostExecute(String s) {
Document doc = Jsoup.parse(s);
showArticle.setText(doc.toString());
super.onPostExecute(s);
}
}
2、用JSONObject类和JSONArray类解析json字符串
JSONObject jsonObject = new JSONObject(jsonString);//{}
JSONArray jsonArray = new JSONArray(jsonString);//[{1},{2}]
JSONObject jsonObject = jsonArray.optJSONObject(1);
Stirng str=jsonObject.optStirng("name");
解析的可以放在list里面,建议都使用JsonObject来解析
彩蛋:
optString和getString的区别:optStirng在得不到想要的结果时返回空,而getString抛出异常
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html