导航:首页 > 操作系统 > 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相关的资料

热点内容
max加线命令 浏览:424
app胖瘦模式哪个好用 浏览:724
可以下载源码的软件 浏览:487
程序员写一天代码累吗 浏览:628
ie文件夹禁止访问 浏览:543
百川互联网程序员 浏览:783
linuxpython解释器 浏览:667
兴安得力软件加密狗 浏览:492
智能网络摄像头加密 浏览:574
软件毕业程序员培训 浏览:652
安卓陀螺仪低怎么办 浏览:247
一级建造师复习题集pdf 浏览:903
法理学pdf海默 浏览:392
服务器内存储器是用什么的 浏览:819
微帮同城分类信息源码 浏览:808
安卓系统ad是什么 浏览:473
python输出中不加占位符 浏览:596
linux文件夹权限控制 浏览:732
雅虎邮箱怎么加密码 浏览:823
为什么安卓手机登录不了苹果账号 浏览:537