导航:首页 > 操作系统 > 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
江苏螺杆压缩机 浏览:980
android底部弹出对话框 浏览:502
怎么查服务器同行fc号 浏览:1001
什么服务器云鸟最便宜 浏览:221
vs编译器反汇编 浏览:571