導航:首頁 > 操作系統 > android解析jsonarray

android解析jsonarray

發布時間:2023-09-08 16:40:42

android開發 解析JSON數據格式 如何去掉JSON數

Android開發中如何解析JSON數據格式?

1.JSON解析
(1).解析Object之一:

1 {"url":"http://www。ideaex。net"}

解析方法:

1 JSONObject demoJson = new JSONObject(jsonString);

2 String url = demoJson.getString("url");

(2).解析Object之二:

1 {"name":"android","name":"iphone"}

解析方法:

1 JSONObject demoJson = new JSONObject(jsonString);

2 String name = demoJson.getString("name");

3 String version = demoJson.getString("version");

4 System.out.println("name:"+name+",version:"+version);

(3).解析Array之一:

1 {"number":[1,2,3]}

解析方法:

1 JSONObject demoJson = new JSONObject(jsonString);

2 JSONArray numberList = demoJson.getJSONArray("number");

3 for(int i=0; i<numberList.length(); i++){

4 //因為數組中的類型為int,所以為getInt,其他getString,getLong同用

5 System.out.println(numberList.getInt(i));

6 }

(4).解析Array之二:

1 {"number":[[1],[2],[3]]}

解析方法:

1 //嵌套數組遍歷

2 JSONObject demoJson = new JSONObject(jsonString);

3 JSONArray numberList = demoJson.getJSONArray("number");

4 for(int i=0; i<numberList.length(); i++){

5 //獲取數組中的數組

6 System.out.println(numberList.getJSONArray(i).getInt(0));

7 }

(5).解析Object和Array:

1 {"mobile":[{"name":"android"},{"name":"iphone"}]}

解析方法:

1 JSONObject demoJson = new JSONObject(jsonString);

2 JSONArray numberList = demoJson.getJSONArray("mobile");

3 for(int i=0; i<numberList.length(); i++){

4 System.out.println(numberList.getJSONObject(i).getString("name"));

5 }

所以,我們發現get後面接著的是你想要的得到的結果的類型:getType,這個對理解很有幫助。
(6).使用optType:
上面的例子,使用getType在碰到查找不到節點的時候,會拋出異常。
如果使用optType,找不到節點,則返回null或者默認值。

1 //無url節點,拋出異常

2 String url = demoJson.getString("url");

3 //無url節點,返回空,如果為基本類型,則返回默認值

4 String url = demoJson.optString("url");

(7).UTF-8的BOM頭導致解析JSON異常的問題
到json文件保存為utf-8的時候,在windows平台下,會產生bom頭"EF BB EF"位元組在文本的最前面(需要用十六進制工具打開才能看的到)。
有兩種解決方法:
a.使用UltraEdit打開json文件,另存為的時候,選擇格式UTF-8,無BOM頭,如果還不行,在用記事本打開,另存為UTF-8下,多試幾次就可以了。
b.使用代碼處理,截取json主體內容:

1 String jsonString = getJsonString();

2 jsonString = jsonString.substring(jsonString.indexOf("{"),jsonString.lastIndexOf("}")+1);

2.JSON必知
(1).JSON是一種輕量級的數據交換格式
(2).JSON基於兩種數據結構:Object和Array。其中Object是「名稱/值」對的集合。
(3).對象:大括弧,每一組string-value結合以","分隔,string和value以冒號分隔。

(4).數組:

(5).string由雙引號包圍的任意數量Unicode字元的集合,使用反斜線轉義。

(6).value可以是雙引號括起來的字元串(string)、數值(number)、true、false、 null、對象(object)或者數組(array)。這些結構可以嵌套。

(7).空白可以加入到任何符號之間,包括空格,tab,回車,換行等。
(8).舉例:
a.Object實例:

01 {

02 "Image": {

03 "Width": 800,

04 "Height": 600,

05 "Title": "View from 15th Floor",

06 "Thumbnail": {

07 "Url": "http://www.example.com/image/481989943",

08 "Height": 125,

09 "Width": "100"

10 },

11 "IDs": [116, 943, 234, 38793]

12 }

13 }

b.Array實例:

01 [

02 {

03 "precision": "zip",

04 "Latitude": 37.7668,

05 "Longitude": -122.3959,

06 "Address": "",

07 "City": "SAN FRANCISCO",

08 "State": "CA",

09 "Zip": "94107",

10 "Country": "US"

11 },

12 {

13 "precision": "zip",

14 "Latitude": 37.371991,

15 "Longitude": -122.026020,

16 "Address": "",

17 "City": "SUNNYVALE",

18 "State": "CA",

19 "Zip": "94085",

20 "Country": "US"

21 }

22 ]

❷ Android 該如何解析json數組裡面的數組

[]就是JSONArray,{}就是JSONObject
JSONObject json = new JSONObject("{xxx}");
json.getJsonArray("data").getJSONObject(0).getJsonArray("task_photo");

❸ Android 解析 嵌套的JsonArray 這個具體該怎麼解析呢

String json = "";
try {
JSONArray arr = new JSONArray(json);
for (int i=0; i<arr.length(); i++) {
JSONObject obj = arr.getJSONObject(i);
String secondId = obj.getString("secondId");
String lessonpId = obj.getString("lessonpId");
String secondTitle = obj.getString("secondTitle");
JSONArray recordArr = obj.getJSONArray("record");
for (int j=0; j<recordArr.length(); j++) {
JSONObject recordObj = recordArr.getJSONObject(j);
// String secondId2 = recordObj.getString("secondId");
String threeTitle = recordObj.getString("threeTitle");
String threeId = recordObj.getString("threeId");
}
}
} catch (JSONException e) {
e.printStackTrace();
}

❹ android如何從網頁中獲取一個json數組並解析出來,顯示在textview裡面

1,先要建立一個線程獲取json數據
2接著解析json數據
3,設置textview
例如:json數據,strjson= {"key": ["a","b"]}
JSONObject object = new JSONObject (strjson)
JSONArray arr= object.getJSONArray("key") ;
String text=arr.getString(0);

❺ android中這樣的JSON數據應該如何解析,

java">//json我的理解就是一系列鍵值對,只要KEY值對了,對應數據格式也對了,那就可以了!~
JsonObjectj=...//此處是獲取json的方法,自定
booleanb=j.getBoolean("result");//取出「result」對應的值,這里的結果應該
//是"true";
JsonArrayja=j.getJsonArray("asks");//取出「asks」對應的值,因為asks對應的值
//中含有方括弧,所以這是JsonArray型數據,需要取出進一步解析;JsonArray可以與數組
//進行比較理解,我個人是這樣的,供參考
for(inti=0;i<ja.length();i++){

JsonArrayja1=ja.getJsonArray(i);//獲取ja中的第一個元素,因為這個元素
//也是jsonArray,所以可以再進一步解析
doubled1=ja1.getDouble(0);//jsonArray中沒有getFloat()這個方法
//,自行轉型就可以了
doubled2=ja1.getDouble(1);//

}

以上,希望對你有所幫助

❻ 求助android解析JSON的問題

http://www.bejson.com/go.php?u=http://www.bejson.com/index.php
這是一個json格式驗證的鏈接,可以驗證自己寫的json格式是否正確

閱讀全文

與android解析jsonarray相關的資料

熱點內容
雙分錄核演算法反映什麼 瀏覽:210
ubuntuphpaptget 瀏覽:256
安卓手機快充需要什麼數據線 瀏覽:795
程序中存在未轉換未編譯部分 瀏覽:323
編譯匯編鏈接優化 瀏覽:83
程序員打字和作家哪個打字快 瀏覽:579
安卓手機怎麼用cad命令行 瀏覽:385
2200工程機接收命令瞬間消失 瀏覽:255
壓縮機工藝管是多大的 瀏覽:314
安卓刷什麼系統穩定 瀏覽:37
程序員寫炫酷代碼 瀏覽:933
大話存儲pdf 瀏覽:526
中銘機器人怎麼編程 瀏覽:812
把字母變為數字的加密法 瀏覽:523
噬血狂襲第三季哪個app能看 瀏覽:422
江蘇螺桿壓縮機 瀏覽:981
android底部彈出對話框 瀏覽:502
怎麼查伺服器同行fc號 瀏覽:1001
什麼伺服器雲鳥最便宜 瀏覽:221
vs編譯器反匯編 瀏覽:571