- 浏览: 25831 次
- 性别:
- 来自: 北京
最新评论
http://www.apkbus.com/forum.php?mod=viewthread&tid=13882
Android 平台上处理 Internet 上两种最常见的数据格式 — XML 和JSON,Feed 数据可以以 XML 和 JSON 格式从 Twitter 上获取 ,XML 随处可见,但是对于 Android 程序员来说并不是一个明智的选择,特别是,如果数据结构成为与 XML 结构伴随着的数据爆炸的牺牲品。像 Android 这样通常在蜂窝数据网络(cellular data network)上工作的资源受限平台不能存储和解析大量 XML 数据。然而,如果特殊编程任务要求文本和二进制数据交换,那么 XML 是一个可靠的选择。
越来越多的 Internet API 供应商提供 JSON 作为一种数据格式。JSON 在 Ajax 网页编程社区中享有盛名。Ajax 技术使 web 页面可以动态地更新,只更新所选区域的数据而不用更新整个页面。由于较少数据被传送 — 更重要的是,因为较少的数据被解析且显示在浏览器窗口 — 使用 AJAX 的应用程序比起传统 web 应用程序能够提供一个更好的用户体验。
XML 以其冗长而著名,而 JSON 也因其难度而闻名。JSON 对象其构造是一个键 :值 对,对象元素之间用逗号隔开,每个对象被包含在一对大括号 {} 内。一组对象数组包含在一对方括号中。这是将数据行从一个数据库发送到一个对象数组的一种常见方法。其中每个数组元素对应数据库中的一行,每个对象属性代表数据的一列。
总的来说,JSON 是:
- 一种数据交换格式。
- JavaScript 对象作为字符串编码的一种方式。
- 仅限于文本和数值。二进制值是明确不允许的。JSON 没有 CDATA 对应模式。
- 在数据可读性费用方面、就数据大小而言比 XML 更经济。
- 越来越多的 API 供应商将其作为一种选择,例如 Twitter。
-
void examineJSONFile() { try { String x = ""; InputStream is = this.getResources().openRawResource(R.raw.jsontwitter); byte [] buffer = new byte[is.available()]; while (is.read(buffer) != -1); String jsontext = new String(buffer); JSONArray entries = new JSONArray(jsontext); x = "JSON parsed.\nThere are [" + entries.length() + "]\n\n"; int i; for (i=0;i<entries.length();i++) { JSONObject post = entries.getJSONObject(i); x += "------------\n"; x += "Date:" + post.getString("created_at") + "\n"; x += "Post:" + post.getString("text") + "\n\n"; } tvData.setText(x); } catch (Exception je) { tvData.setText("Error w/file: " + je.getMessage()); } }
像之前显示的 XML 例程一样,从文件中读取数据到内存中,转换成一个 java.lang.String,然后解析成 JSONArray。要注意的是,正如此例所示,一个特殊的字符串能直接解析成一个数组,或者也可以直接解析成一个 JSONObject。因为 Twitter 数据是一个对象数组,整体解析成一个数组然后按顺序逐个访问对象是明智的选择。
该方法的流程简单明了,一旦数据被解析,代码建立一个类似于 XML 解析器处理程序方法的字符串表示。有趣的是数据将由您来管理;您不需要建立额外内存结构来容纳数据,同样地,应用程序预先就知道在 JSONArray 中有多少个条目(在这个例子中是 20 个)。
尽管 JSON 解析在编程上简单得多,但并不是没有代价的。它要增加内存消耗,在处理之前整体读取数据流并进行存储。相反的,SAX XML 方法仅使用相关数据。另外,如果解析特殊 JSON 对象的内存是足够的,则这个方法将很受应用程序欢迎,特别是,几乎不需要使用 DOM 的应用程序。
比起 JSON 方法,XML 方法更快、内存受限更小 — 但是以增加复杂性为代价。
发表评论
-
Android网络请求库——android-async-http
2013-05-14 16:58 0在iOS开发中有大名鼎鼎的ASIHttpRequest库, ... -
缓存管理
2013-02-27 17:04 776无论大型或小型应用 ... -
MediaProvider数据库模式:ICS的更改
2012-10-23 17:51 2684Android MediaProvider数据 ... -
我国首次IT审计师资格考试成绩不俗(11.4)
2012-09-06 22:42 6【时间:2003年01月23日】 【来源: ... -
ftp理论
2012-09-05 22:13 875当数据通过数据流传 ... -
ftp实务
2012-09-05 22:10 641当你对一个FTP问题进行排错时候,你首先要问的 ... -
aassssss
2012-08-20 21:23 008-20 21:22:40.890: INFO/Sys ... -
error
2012-07-04 21:11 0doInBackground ee4:bind fail ... -
sockt
2012-07-04 00:28 756这是一个简单的包含发送端和接收端的例子。发送端向接收端发 ... -
Android AsyncTask
2012-07-03 23:00 654在开发Android移动客户端的时候往往要使用多线程来进 ... -
log
2012-06-30 19:53 006-30 19:31:20.510: DEBUG/CDY(1 ... -
Wi-Fi Direct
2012-06-30 00:28 835http://stackoverflow.com/questi ... -
Wi-Fi Direct 10大问答
2012-06-13 00:09 1645Q:什么是Wi-Fi Direct?A:是新兴的Wi-Fi无线 ... -
Wi-Fi Direct ,让 DLNA 如虎添翼
2012-06-13 00:07 1072今天想分享的技术趋势话题,涉及两个关键字,WI-FI D ... -
Wi-Fi Direct变成标准
2012-06-13 00:04 1099三星宣布Galaxy S将能过升级的方式,成位第一款支持Wi- ... -
Wi-Fi Direct百科
2012-06-12 23:56 929Wi-Fi Direct简介 2010 ... -
Wi-Fi Direct与蓝牙4.0优缺点比较
2012-06-12 18:10 5459Wi-Fi Direct与蓝牙4.0速度比较 Wi-Fi ... -
Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
2012-02-16 00:00 2449不得不说,JSON 格式的确是非常美妙的,速度快而且简化 ... -
android Camera
2011-11-25 16:57 829/** * 拍照的回调接口 ... -
ftp协议的工作原理
2011-08-17 00:36 744FTP Transfer Protocol 件传输协议的缩写, ...
相关推荐
json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于idea插件 用于解析json json paser 属于...
在Linux环境中,处理JSON数据是常见的任务,尤其是在服务器管理和自动化脚本中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本文将深入探讨如何...
最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json库 nlohmann json源代码最好用的c++json...
标题“JSON_Trans.rar_LABVIEW转换JSON_json Labview_labivew json_labview j”表明这是一个关于如何在LabVIEW中实现JSON转换的实践教程或示例。 描述中提到,“LabVIEW建立JSON通讯示例,通过建立簇,将数据转换成...
json11::Json jsonObject = json11::Json::parse(jsonString); if (jsonObject.is_object()) { // 处理解析成功的对象 } else { // 处理解析错误 } ``` 一旦你有了JSON对象,可以访问其成员或进行修改。例如,...
json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】。JavaScript中解析JSON的js包,页面中引入json3.js,即可使用。 使用方法:JSON.parse(str), JSON.stringify(obj) 更多详情请参考博文: ...
Java JSON API是Java平台上的库,提供了处理JSON的能力,包括解析JSON字符串、生成JSON对象以及进行JSON与Java对象之间的转换。 在Java中,有多种实现JSON API的库,如Jackson、Gson、org.json和json-lib等。本篇...
而JSON Schema则是一个JSON格式的规范,用于定义JSON数据的结构和限制,类似于XML Schema,它为JSON数据提供了验证规则,确保数据的准确性和一致性。 在JavaScript开发中,有时我们需要将JSON对象转换为JSON Schema...
在这个例子中,我们首先使用`json_tokener_parse`解析JSON字符串,然后通过`json_object_get_string`和`json_object_get_int`获取JSON对象中的数据,最后使用`json_object_put`释放内存。这就是`json-c`库基本的使用...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。它易于人阅读和编写,同时也易于机器解析和生成。`net.sf.json`是开源项目Apache软件基金会下的一个...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传输数据。它以文本形式存储和传递数据,易于人阅读和编写,同时也易于机器解析和生成。`net.sf.json`是开源Java库,它...
jsonview是chrome浏览器的一个插件,用来在浏览器中查看json数据。比如你在浏览器中可以查看从服务器端传回来的json数据,这些数据可能没有经过格式化的,也或者是经过了unicode编码,没有缩进,没有换行等等,造成...
C# json格式转换,Json格式字符串与C#对象相互转换,类库和测试demo 写了一个json与C#对象相互装换的类库,直接调用就行,有测试案例,代码注释非常详细 部分方法: /// 将Json字符串解析为C#中的对象 /// Json格式...
可能包含的方法有`toJson()`(将Java对象转换为JSON字符串)、`fromJson()`(将JSON字符串解析为Java对象)、`convertToMap()`(将JSON字符串转换为Map)以及`convertToList()`(将JSON字符串转换为List)等。...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在PHP中,JSON常用于与前端交互,传输数据。PHP 4.0版本虽然相对较旧,但仍然可以处理JSON数据,只是...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web服务与客户端之间的数据传输。它易于人阅读和编写,同时也易于机器解析和生成。JSON文件通常以.js或.json为扩展名,其数据结构主要...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括C、C++、C#、Java、JavaScript、Perl、Python等)的习惯,这使得JSON对于程序员...
这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...
**JsonSQL: SQL语句解析JSON文件** 在大数据处理和Web应用中,JSON(JavaScript Object Notation)格式已经成为数据交换的常见格式。然而,对于习惯使用SQL查询关系型数据库的人来说,处理JSON数据可能会觉得不太...
标题中的“PB解析json,解析JSON案例,解析jsondemo”表明了本文主要关注的是PowerBuilder(简称PB)如何处理JSON数据。在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,...