您好,登錄后才能下訂單哦!
1 簡單的一個 { ,,,,}
2 里面有數組 { , [{,,},{,,}],}
3 直接一個數組
4 數組里有數組
5 其他情況? 沒有吧,除非json格式不規范
Android的SDK中包含四個與JSON相關的類和一個Exceptions:JSONArray、JSONObject、JSONStringer、JSONTokener、JSONException。通過這5個類我們就可以自行對Json進行解析(使用很簡單,可以網上搜索使用方法或者參照Android SDK),另外Google在Android的SDK中放入了JsonReader和JsonWriter來方便我們讀寫Json。
//最簡單 的 直接一個對象
// {"username":"zms",age:23,"addr","from china"};
String json="{\"username\":\"zms\",\"age\":43,\"addr\":\"江西省高安市村前鎮\"}";
JSONObject jsonObject2 =new JSONObject(json);
str="名字:"+jsonObject2.getString("username")+"年薪:"+jsonObject2.getString("age")+jsonObject2.getString("addr")+"\n";
//對象里有數組
//{"username":"zms",age:11,"jicheng":[{"zhengshu":"PMP","date":"2011年"},{"zhengshu":"信息系統項目管理師","date","2012年"}],"addr":"江西"}
// 這種也屬于 對象里有數組 {"json":[{"username":"zms","date":"2011年"},{"username":"ivy","date","2012年"}]}
String json= "{\"username\":\"張木生\",age:11,\"jicheng\":[{\"zhengshu\":\"PMP\",\"date\":\"2011年\"},{\"zhengshu\":\"信息系統項目管理師\",\"date\":\"2012年\"}],\"addr\":\"江西\"}";
JSONObject jsonObject2 =new JSONObject(json);
str="名字:"+jsonObject2.getString("username");
str=str+"工齡:"+jsonObject2.getString("age")+"證書:";
JSONArray jsonArray = jsonObject2.getJSONArray("jicheng");
for (int i=0;i<jsonArray.length();i++)
{
JSONObject jsonObjectSon= (JSONObject)jsonArray.opt(i);
str=str+jsonObjectSon.getString("zhengshu")+"年份:"+jsonObjectSon.getString("date");
}
str=str+"籍貫"+jsonObject2.getString("addr");
txt1.setText(str);
Log.v("zms", str);
//直接一個數組
str="";
// 返回的字符串 直接是個數組
// [{"devid":"1234567800","latitude":"29.4963","longitude":"116.189"},{"devid":"1234567832","latitude":"29.4943","longitude":"1161.129"}]
String json="[{\"devid\":\"1234567800\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"devid\":\"1234567832\",\"latitude\":\"29.4943\",\"longitude\":\"1161.129\"}]";
try {
JSONArray jsonArray = new JSONArray(json);
for (int i=0;i<jsonArray.length();i++)
{
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
str=str+"第"+i+"個,devid:"+jsonObject2.getString("devid")+"維度:"+jsonObject2.getString("latitude")+"經度:"+jsonObject2.getString("longitude")+"\n";
}
//數組里有數組
String json="["+
"{\"devid\":\"1234567800\",\"gps\":[{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\" }],\"devname\":\"贛01\"},"+
" {\"devid\":\"1234567800\",\"gps\":[{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\" }],\"devname\":\"贛92\"},"+
" {\"devid\":\"1234567800\",\"gps\":[{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\" }],\"devname\":\"贛43\"}"+
"]";
try {
JSONArray jsonArray = new JSONArray(json);
for (int i=0;i<jsonArray.length();i++)
{
String tpstr="";
JSONObject jsonObject5 = (JSONObject)jsonArray.opt(i);
str=str+"第"+i+"條船,設備號devid:"+jsonObject5.getString("devid");
JSONArray jsonArray5 = jsonObject5.getJSONArray("gps");
for (int j=0;j<jsonArray5.length();j++)
{
JSONObject jsonOb5Son=(JSONObject)jsonArray5.opt(j);
tpstr="采集時間:"+jsonOb5Son.getString("time")+"維度"+jsonOb5Son.getString("latitude")+"經度:"+jsonOb5Son.getString("longitude");
}
str=str+tpstr;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。