在 android 中內建了 json 的解析 api,在 org.json 包中包含了如下幾個類:jsonarray、jsonobject、jsonstringer、jsontokener 和乙個異常類 jsonexception。
1、json 解析步驟
1)、讀取網路檔案資料並轉為乙個 json 字串
inputstream in = conn.getinputstream();
string jsonstr = datautil.stream2string(in);//將流轉換成字串的工具類
2)、將字串傳入相應的 json 建構函式中
①、通過建構函式將 json 字串轉換成 json 物件
jsonobject jsonobject = new jsonobject(jsonstr);
②、通過建構函式將 json 字串轉換成 json 陣列:
jsonarray array = new jsonarray(jsonstr);
3)、解析出 json 中的資料資訊:
①、從 json 物件中獲取你所需要的鍵所對應的值
jsonobject json=jsonobject.getjsonobject("weatherinfo");
string city = json.getstring("city");
string temp = json.getstring("temp")
②、遍歷 json 陣列,獲取陣列中每乙個 json 物件,同時可以獲取 json 物件中鍵對應的值
for (int i = 0; i < array.length(); i++)
2、生成 json 物件和陣列
1)生成 json:
方法 1、建立乙個 map,通過構造方法將 map 轉換成 json 物件
mapmap = new hashmap();
map.put("name", "zhangsan");
map.put("age", 24);
jsonobject json = new jsonobject(map);
方法 2、建立乙個 json 物件,通過 put 方法新增資料
jsonobject json=new jsonobject();
json.put("name", "zhangsan");
json.put("age", 24);
2)生成 json 陣列:
建立乙個 list,通過構造方法將 list 轉換成 json 物件
mapmap1 = new hashmap();
map1.put("name", "zhangsan");
map1.put("age", 24);
mapmap2 = new hashmap();
map2.put("name", "lisi");
map2.put("age", 25);
list> list=new arraylist>();
list.add(map1);
list.add(map2);
jsonarray array=new jsonarray(list);
system.out.println(array.tostring());
解析伺服器傳來的 XML 格式資料
android 為我們提供了原生的 xml 解析和生成支援。1 xml 解析 獲取解析器 xml.newpullparser 設定輸入流 setinput 獲取當前事件型別 geteventtype 解析下乙個事件,獲取型別 next 獲取標籤名 getname 獲取屬性值 getattribute...
android 解析伺服器json物件,陣列
一直都是用android自帶的org.json.jsonobject來解析伺服器發過來的json string,如果json是個list,下面是我以前的做法。把jsonarray物件轉換成listprotected listloadgoodslist jsonarray arr throws jso...
JSON伺服器示例
此json伺服器示例是2017年中重寫的文章系列的一部分,其中包含最新資訊和最新示例。json server是前端開發人員常用的工具,可以在不到一分鐘的時間內快速設定完全偽造的rest api。您需要先通過npm安裝它 npm install global json server接下來,將一些資料儲...