android Json 解析和生成
什么是json:
JSON即JavaScript Object Natation的简称,它是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互。JSON易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立语言的文本格式,但是也是用了类似于C语言家族的习惯(包括C,C++,C#,JAVA,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。
JSON优势
JSON和XML的比较
- JSON比XML体积小
- JSON和JavaScript交互更加方便
- JSON对数据的描述性没有XML好
- JSON的速度要远远大于XML
- JSON的解析要比XML的解析要方便
两种数据结构
例如:{"name": "xiaoli"},这就是一个最简单的json对象,对于这种数据格式,key值必须要是string类型,而对于value,则可以是string、number、object、array等数据类型
例如:[{“name”: “xiaoli”},{“name”:”xiaoming”},]这就是一个最简单的jsonArray对象,对于这种数据格式, 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、null、对象(object)或者数组(array)。这些结构可以嵌套。
json object 生成:
<span style="font-size:18px;">private String createJson() throws JSONException
{
JSONObject obj = new JSONObject();
obj.put("name", "xiaoli");
return obj.toString();
}</span>
json array 生成:
<span style="font-size:18px;">private String createJsonArray() throws JSONException
{
JSONArray array = new JSONArray();
JSONObject obj = new JSONObject();
obj.put("name", "xiaoli");
JSONObject obj1 = new JSONObject();
obj1.put("name", "xiaowang"); array.put(obj);
array.put(obj1);
return array.toString();
}</span>
json object 解析:
<span style="font-size:18px;">private void parseJson(String json)
{
try
{
JSONObject obj = new JSONObject(json);
String name = obj.getString("name");
System.out.println("name:"+name);
}catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}</span>
json array 解析:
<span style="font-size:18px;"> private void parseJsonArray(String array) {
try {
JSONArray jarray = new JSONArray(array);
for(int i = 0;i<jarray.length();i++)
{
JSONObject obj = jarray.getJSONObject(i);
Log.e("obj:",obj.toString());
String value = obj.getString("name");
Log.e("value:",value);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}</span>
json demo 下载地址:
http://download.csdn.net/detail/q610098308/9220179
android Json 解析和生成的更多相关文章
- Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例
Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的 ...
- Android Json解析与总结
一.JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
- android json 解析简单实例
Android JSON解析跟JAVA 的JSON解析原理是一样的. Android自带的JSON方式跟方便,不需要导包啥的.不深究原理了,直接上代码: public class JsonActivi ...
- android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】
android json解析及简单例子+Android与服务器端数据交互+Android精彩案例[申明:来源于网络] android json解析及简单例子:http://www.open-open. ...
- Android JSON 解析关键代码
Android Json 解析其实还是蛮重要的知识点,为什么这么说呢,因为安卓通信大部分的协议都是使用 json 的方式传输,我知道以前大部分是使用的 xml ,但是时代在发展社会在进步,json 成 ...
- android json解析及简单例子
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- Android JSON 解析库的使用 - Gson 和 fast-json
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...
- android Json解析详解
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语 言的支持),从而可以在不同平台间进行数 ...
- android Json解析详解(详细代码)
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
随机推荐
- 【python】浅谈encode和decode
对于encode和decode,笔者也是根据自己的理解,有不对的地方还请多多指点. 编码的理解: 1.编码:utf-8,utf-16,gbk,gb2312,gb18030等,编码为了便于理解,可以把它 ...
- <<编写可维护的JavaScript>>之避免使用全局变量
一.避免全局变量的理由 js中避免创建全局变量一是避免命名冲突,二是避免因为创建全局变量让代码变得脆弱,三是创建全局变量会让代码难以测试. 二.避免创建全局变量的几种方法 //避免全局变量 避免命名冲 ...
- LintCode "Longest Increasing Continuous subsequence II" !!
DFS + Memorized Search (DP) class Solution { int dfs(int i, int j, int row, int col, vector<vecto ...
- TCP segment of a reassembled PDU
Wireshark有时候会显示这个东东. 此处PDU是指上层(如HTTP)的Protocol Data Unit,意指上层协议的一个协议段太长,无法放入单个TCP数据包. 如果你在wireshark中 ...
- Redis集群方案介绍
由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用.Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以到100GB.200GB的规模,但是单实例模式限制了Redis没法 ...
- 99. Recover Binary Search Tre
Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...
- 黄聪:Discuz!的SEO优化策略一:如何设置标题 & 如何去掉Powered by Discuz!尾巴
1.如何设置标题 进入 管理中心 -- 全局 -- SEO设置 -- 论坛 -- 标题 ,设置你的网站标题和描述. PS:有人问keywords要不要设置,其实现在keywords对SEO的影响已经微 ...
- Elastic Search(一)
一. 安装插件 Marvel集群管理 root@lj-ThinkPad-L460:~# sudo bin/plugin install license root@lj-ThinkPad-L460:~# ...
- ADF_Starting系列4_使用ADF开发富Web应用程序之维护User Interface(Part1)
2014-05-04 Created By BaoXinjian
- Sublime 编译出来的是 dos格式,不是unix格式
在windows下编辑一般都这样的 :set ff=unix就好