Android-XML与JSON的理解-JSON的数据格式
据我了解,在多年以前浏览器客户端和服务器它们的通讯数据交互格式是XML, 使用XML来规定数据格式可读性确实非常强,XML的魅力确实很大,也很成熟,但是也有不足之处,就是在网络传输的时候对流量要求特别高,如果使用XML这种格式来传输数据,确实也是非常标准的,为什么慢慢的被JSON这种数据格式给代替了呢,JSON能够代替XML的,只有明显一点就是,传输数据的时候消耗的流量比XML要小,意思就是JSON这种数据格式体积小
相同的数据,分别使用 JSON / XML 对比就明白了:
XML:
<?xml version="1.0" encoding="utf-8" ?>
<country>
<name>中国</name>
<province>
<name>黑龙江</name>
<citys>
<city>哈尔滨</city>
<city>大庆</city>
</citys>
</province>
<province>
<name>广东</name>
<citys>
<city>广州</city>
<city>深圳</city>
<city>珠海</city>
</citys>
</province>
<province>
<name>台湾</name>
<citys>
<city>台北</city>
<city>高雄</city>
</citys>
</province>
<province>
<name>新疆</name>
<citys>
<city>乌鲁木齐</city>
</citys>
</province>
</country>
JSON:
        {
            name: "中国",
            provinces: [
            { name: "黑龙江", citys: { city: ["哈尔滨", "大庆"]} },
            { name: "广东", citys: { city: ["广州", "深圳", "珠海"]} },
            { name: "台湾", citys: { city: ["台北", "高雄"]} },
            { name: "新疆", citys: { city: ["乌鲁木齐"]} }
            ]
        }
XML在其他领域的重要性,无可替代
既然XML在无论数据传输方面慢慢的被JSON这种数据格式给取代,XML在其他领域还是有着相当重要的
很多很多的框架,各种各样的框架,无数的框架配置,或者布局,都是非XML莫属
就例如:Android的核心配置文件是什么:AndroidManifest.xml 是XML来配置的
就例如:Android的布局文件是 xxx.xml
XML数据格式的阅读性比JSON好
JSON数据格式在网络传输方面比XML要好
JSON的数据格式(对象):
1.简单的JSON对象数据格式:
{
    "name":"刘俊俊",
    "age":44,
    "sex":"男"
}
2.简单的JSON对象数据里面 有 集合:
{
    "name":"刘俊俊",
    "age":44,
    "sex":"男",
    "grades":[
        {
            "grade":"43"
        },
        {
            "grade":"44"
        },
        {
            "grade":"88"
        },
        {
            "grade":"76"
        }
    ]
}
3.简单的JSON对象数据里面 有两个集合:
{
    "name":"刘俊俊",
    "age":44,
    "sex":"男",
    "grades":[
        {
            "grade":"43"
        },
        {
            "grade":"44"
        },
        {
            "grade":"88"
        },
        {
            "grade":"76"
        }
    ],
    "bodys":[
        {
            "body":"130"
        },
        {
            "body":"140"
        },
        {
            "body":"143"
        },
        {
            "body":"128"
        }
    ]
}
4.简单的JSON对象数据里面 有一个集合,在嵌套一个集合:
{
    "name":"刘俊俊",
    "age":44,
    "sex":"男",
    "grades":[
        {
            "grade":"43",
            "levels":[
                {
                    "level1":4
                },
                {
                    "level2":76
                },
                {
                    "level3":23
                },
                {
                    "level4":34
                },
                {
                    "level5":65
                }
            ]
        }
    ]
}
5.简单的JSON对象数据里面 有一个集合,在嵌套两个集合:
{
    "name":"刘俊俊",
    "age":44,
    "sex":"男",
    "grades":[
        {
            "grade":"43",
            "levels":[
                {
                    "level1":4
                },
                {
                    "level2":76
                },
                {
                    "level3":23
                },
                {
                    "level4":34
                },
                {
                    "level5":65
                }
            ],
            "child":[
                {
                    "name":"小明",
                    "age":99,
                    "body":140
                },
                {
                    "name":"小云",
                    "age":87,
                    "body":130
                },
                {
                    "name":"小俊",
                    "age":98,
                    "body":150
                }
            ]
        }
    ]
}
JSON的数据格式(数组):
1.简单的JSON数组数据格式,SON数组数据里面有多个JSON对象:
[
{
"name":"张三",
"age":87,
"sex":"男"
},
{
"name":"李四",
"age":98,
"sex":"女"
},
{
"name":"王五",
"age":79,
"sex":"男"
},
{
"name":"赵六",
"age":98,
"sex":"女"
},
{
"name":"七七",
"age":87,
"sex":"男"
}
]
2.JSON数组数据 里面有多个JSON对象,最后JSON对象里面 还有一个对象:
[
{
"name":"张三",
"age":87,
"sex":"男"
},
{
"name":"李四",
"age":98,
"sex":"女"
},
{
"name":"王五",
"age":79,
"sex":"男"
},
{
"name":"赵六",
"age":98,
"sex":"女"
},
{
"name":"七七",
"age":87,
"sex":"男",
"pet":{
"name":"阿黄",
"age":99,
"sex":"母",
"color":"黑色"
}
}
]
3.JSON数组数据 里面有多个JSON对象,所有的JSON对象里面 还有一个对象:
[
{
"name":"张三",
"age":87,
"sex":"男",
"pet":{
"name":"阿姐",
"age":98,
"sex":"母",
"color":"黑色"
}
},
{
"name":"李四",
"age":98,
"sex":"女",
"pet":{
"name":"阿白",
"age":99,
"sex":"母",
"color":"黑色"
}
},
{
"name":"王五",
"age":79,
"sex":"男",
"pet":{
"name":"阿黄",
"age":99,
"sex":"母",
"color":"黑色"
}
},
{
"name":"赵六",
"age":98,
"sex":"女",
"pet":{
"name":"阿红",
"age":99,
"sex":"母",
"color":"黑色"
}
},
{
"name":"七七",
"age":87,
"sex":"男",
"pet":{
"name":"阿黄",
"age":99,
"sex":"母",
"color":"黑色"
}
}
]
JSON对象的数据格式(对象 Key):
注意:key是唯一的,如果相同的两个key,只会显示一个key
{
    "dog":{
        "name":"小黄",
        "age":99,
        "sex":"公"
    },
    "cat":{
        "name":"小白",
        "age":89,
        "sex":"母"
    },
    "hog":{
        "name":"小猪猪",
        "age":88,
        "sex":"母"
    },
    "cattle":{
        "name":"小牛",
        "age":78,
        "sex":"公"
    }
}
JSON数组的数据格式(数组 Key):
{
    "persons":[
        {
            "name":"刘一",
            "age":89,
            "sex":"男"
        },
        {
            "name":"许二",
            "age":99,
            "sex":"女"
        },
        {
            "name":"廖三",
            "age":90,
            "sex":"男"
        },
        {
            "name":"王五",
            "age":99,
            "sex":"女"
        },
        {
            "name":"赵六",
            "age":99,
            "sex":"男"
        }
    ]
}
JSON原则:
1.封装JSON数组的Key,首先需要一个JSON对象来包围;
{
    "students":[
    ]
}
2.JSON数组里面能放置JSON对象:
[
{ }
]
JSON数组里面也能放置JSON数组:
[
[ ]
]
以下是❌错误示范:
["xxx":{}]
["xxx":"aaa"]
["xxx":[]]
3.key只能写在 JSON对象里面:
{
    "key":[
        {
        },
        {
        }
    ]
}
以下是❌错误示范:
"key":[{},{}]
"key":{}
Android-XML与JSON的理解-JSON的数据格式的更多相关文章
- [Android]XML和JSON的区别
		1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允 ... 
- Android(java)学习笔记208:Android中操作JSON数据(Json和Jsonarray)
		1.Json 和 Xml JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ... 
- Android(java)学习笔记151:Android中操作JSON数据(Json和Jsonarray)
		1.Json 和 Xml JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ... 
- 深入理解JSON对象
		× 目录 [1]语法规则 [2]stringify [3]parse[4]eval 前面的话 json(javascript object notation)全称是javascript对象表示法,它是 ... 
- Android 手机卫士--构建服务端json、请求网络数据
		本文地址:http://www.cnblogs.com/wuyudong/p/5900384.html,转载请注明源地址. 数据的传递 客户端:发送http请求 http://www.oxx.com/ ... 
- json基础教程|理解Json
		一. 在异步应用程序中发送和接收信息时,可以选择以纯文本和 XML 作为数据格式.这一期讨论一种有用的数据格式 JavaScript Object Notation(JSON),以及如何使用它更轻松地 ... 
- JSON:如果你愿意一层一层剥开我的心,你会发现...这里水很深——深入理解JSON
		我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看 ... 
- 深入理解 JSON
		我们先来看一个JS中常见的JS对象序列化成JSON字符串的问题,请问,以下JS对象通过JSON.stringify后的字符串是怎样的?先不要急着复制粘贴到控制台,先自己打开一个代码编辑器或者纸,写写看 ... 
- Ace教你一步一步做Android新闻客户端(三) JSON数据解析
		对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三种格式,现在给大家讲解一下json这个知识点, 1 如何通过json-lib和gson这两个json解析库来对解析我们的j ... 
随机推荐
- String..lastIndexOf(".") 返回-1的思考
			String s = tableName.substring(tableName.lastIndexOf(".") + 1); 如果有tableName有'.',那么返回正确的截取 ... 
- Tensorflow笔记——神经网络图像识别(四)搭建模块化的神经网络八股(正则化,指数衰减学习率,滑动平均等优化)
			实战案例: 数据X[x0,x1]为正太分布随机点, 标注Y_,当x0*x0+x1*x1<2时,y_=1(红),否则y_=0(蓝) 建立三个.py文件 1. generateds.py生成数据 ... 
- phpstorm破解    IntelliJ IDEA License Server本地搭建教程 http://blog.lanyus.com/archives/174.html/comment-page-6#comments 附件:mac环境
			ilanyu's Blog 搜索关键字搜索 首页IDEA注册码文件中转在线记事本老博客关于 IntelliJ IDEA License Server本地搭建教程 作者: ilanyu 时间: Marc ... 
- 6_python之路之atm购物
			6_python之路之atm购物 1.程序说明:Readme.cmd supermarket 项目主目录 ├── access.log 日志文件 ├── atm atm程序 │?? ├── atm.p ... 
- C关系运算结果及逻辑运算结果保存
			http://service.exmail.qq.com/ 
- 设置VMWARE通过桥接方式使用主机无线网卡上网(转载)
			其它人的评论:好文,使用bridged最简单;桥接也可选择自定义的虚拟网络-->VMnet1,这样可以让虚机的IP于主机不同,与VMnet1相同.将主机的的网络访问共享给VMnet1(这个法子没 ... 
- C++Builder 也有StringBuilder
			System::Sysutils::TStringBuilder *sb = new TStringBuilder; sb->Append("ww"); sb-& ... 
- servlet中关于下载
			package com.huawei.response; import java.io.BufferedInputStream;import java.io.IOException;import ja ... 
- python之with...as
			[python之with...as] 参考:http://python.42qu.com/11155501 
- DropDownList控件的使用方法
			1. 使用代码添加数据 <asp:DropDownList ID="DropDownList1" runat="server"> </asp: ... 
