首页天道酬勤安卓手机json格式怎么打开,json解析源码

安卓手机json格式怎么打开,json解析源码

admin 05-05 13:54 59次浏览

1.JSON分析

(1) .分析Object之一的:

分析方法:

1

jsonobjectdemojson=newjsonobject (JSON字符串);

2

string URL=demo JSON.getstring (' URL );

(2) .分析Object的二:

1

{'name':'android ',' name':'iphone'}

分析方法:

1

jsonobjectdemojson=newjsonobject (JSON字符串);

2

string name=demo JSON.getstring (' name );

3

string version=demo JSON.getstring (version );

4

system.out.println (' name : ' name ',version:' version );

(3) .分析Array之一的:

1

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

分析方法:

1

jsonobjectdemojson=newjsonobject (JSON字符串);

2

jsonarraynumberlist=demo JSON.getjsonarray (' number );

3

for(intI=0; I

4

//数组中的类型为int,因此与getInt、其他getString、getLong共用

5

系统. out.println (number list.getint (I ) );

6

}

(4) .分析Array的二:

1

{'number':[[1]、[2]、[3]]}

分析方法:

1

//遍历嵌套数组

2

jsonobjectdemojson=newjsonobject (JSON字符串);

3

jsonarraynumberlist=demo JSON.getjsonarray (' number );

4

for(intI=0; I

5

//获取数组中的数组

6

system.out.println (number list.getjsonarray (I ).getInt(0)0);

7

}

(5) .分析Object和Array:

1

{ ' mobile ' : [ { ' name ' : ' Android ' },{'name':'iphone'}]}

分析方法:

1

jsonobjectdemojson=newjsonobject (JSON字符串);

2

jsonarraynumberlist=demo JSON.getjsonarray (' mobile );

3

for(intI=0; I

4

system.out.println (number list.getjsonobject (I ).getstring('name ' );

5

}

所以,我发现get之后会跟着你想要的结果类型。 getType,这有助于理解。

)6)在. optType:的上例中,如果使用getType找不到节点,则抛出异常。

如果使用optType找不到节点,则返回null或默认值。

1

//URL节点无,抛出异常

2

string URL=demo JSON.getstring (' URL );

3

对于无//URL节点、空、基本类型,返回默认值

4

string URL=demo JSON.optstring (' URL );

(7) .通过UTF-8的BOM磁头分析JSON异常

如果将json文件另存为utf-8,则在windows平台上,bom标头“EF BB EF”字节将显示在文本的开头(必须使用十六进制工具打开)。

解决方法有两种。

使用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": {

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

]

3.小结

很简单 ,很基础,积水方能成江,累砖才可筑楼。

接下来举两个实际的例子:

;i

JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);

CalendarInfo calendarInfo = new CalendarInfo();

calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));

calendarInfo.setTitle(jsonObject2.getString("title"));

calendarInfo.setCategory_name(jsonObject2.getString("category_name"));

calendarInfo.setShowtime(jsonObject2.getString("showtime"));

calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));

calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));

calendarInfos.add(calendarInfo);

}

总结,普通形式的只需用JSONObject ,带数组形式的需要使用JSONArray 将其变成一个list。

转:http://blog.163.com/tuchengju@126/blog/static/38071165201162254625961/

关注公众号,分享干货,讨论技术

java解析json字符串详解(两种方法)

一.使用JSONObject来解析JSON数据官方提供的,所以不需要导入第三方jar包:直接上代码,如下 private void parseJSONWithJSONObject(String Jso ...

JavaScript如何处理解析JSON数据详解

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON ...

Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

最强常用开发库总结 - JSON库详解

最强常用开发库总结 - JSON库详解 JSON应用非常广泛,对于Java常用的JSON库要完全掌握.@pdai JSON简介 JSON是什么 JSON 指的是 JavaScript 对象表示法(Ja ...

[Android新手区] SQLite 操作详解--SQL语法

该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法  :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...

Android Animations 视图动画使用详解!!!

转自:http://www.open-open.com/lib/view/open1335777066015.html Android Animations 视图动画使用详解 一.动画类型 Andro ...

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送, ...

【Android 应用开发】Ubuntu 下 Android Studio 开发工具使用详解 (旧版本 | 仅作参考)

. 基本上可以导入项目开始使用了 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21035637 ...

Angular Npm Package.Json文件详解

Angular7 Npm Package.Json文件详解   近期时间比较充裕,正好想了解下Angular Project相关内容.于是将Npm官网上关于Package.json的官方说明文档进行了 ...

随机推荐

[原创]Linux-day1

原创:转发务必注明出处http://www.cnblogs.com/0zcl/p/6077298.html 一.Linux的基本原则 由目的单一的小程序组成:组合小程序完成复杂任务 一切皆文件 尽量避 ...

SQL防注入程序 v1.0

/// ***************C#版SQL防注入程序 v1.0************ /// *使用方法: /// 一.整站防注入(推荐) /// 在Global.asax.cs中查找App ...

Office 365 for TechNet 版本国家地区没有中国选项

TechNet订阅用户提供一个Office365的注册,今天想测试一下,结果发现TechNet版本的没有中文地区选项 以下是官网E3使用账号注册,有中国地区 以下为TechNet订阅的office36 ...

java_设计模式_命令模式_Command Pattern(2016-08-09)

理解还不到位,先窜出来.等过一阵子再看,再理解. 定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能. 类型:行为类模式 类 ...

UVa 11796 计算几何

题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

Android Studio错误

晚上一直在折腾android studio这个东西,弄的蛋疼.. 之前是有用的,然后今天闲的没事干,更新了下,反正弄出了一大堆的错误.. 错误:failed to find Build Tools r ...

JavaScript 实现数组的foreach

Array.prototype.forEach = function (action) { for (var i = 0; i < this.length; i++) { action(this ...

如何在微软Hyper-V下发挥SQL Server最大功效

要建设稳定运行的虚拟化SQL Server系统,关键是确保虚拟化管理软件配置能提供数据库所需的资源.SQL Server是CPU密集型技术,因此支撑它的虚拟机需要能获得充足的处理器资源,同时不能引起与 ...

LeetCode 363:Max Sum of Rectangle No Larger Than K

题目链接 链接:https://leetcode.com/problems/max-sum-of-rectangle-no-larger-than-k/description/ 题解&代码 1 ...

Activiti中子流程:SubProcess,CallActiviti的区别

子流程:SubProcess,CallActiviti的区别 https://community.alfresco.com/thread/221771-call-activiti-vs-subproc ...

PHP怎样进行数据库查看赋值C to C#笔记UGUI实现ScrollView无限滚动效果
java生成json文件,Java解析json python格式化json,python解析json格式数据
相关内容