JSON语法及JSON定义规范化
来源:互联网 发布:nginx指定ip转发 编辑:程序博客网 时间:2024/06/16 13:30
一、前言
JSON(JavaScript Object Notation, JS对象标记) 是一种轻量级的数据交换格式。它是基于 ECMAScript 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
二、JSON 语法规则
在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
- 对象表示为键值对
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。JSON 和 JS 对象可以互转。
- JS对象 –> JSON 字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); // 结果是 '{"a": "Hello", "b": "World"}'
- JSON 字符串 –> JS对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); // 结果是 {a: 'Hello', b: 'World'}
三、和XML的比较
1、实例比较
- 用XML表示中国部分省市数据如下:
<?xml version="1.0" encoding="utf-8"?><country> <name>中国</name> <province> <name>黑龙江</name> <cities> <city>哈尔滨</city> <city>大庆</city> </cities> </province> <province> <name>广东</name> <cities> <city>广州</city> <city>深圳</city> <city>珠海</city> </cities> </province> <province> <name>台湾</name> <cities> <city>台北</city> <city>高雄</city> </cities> </province> <province> <name>新疆</name> <cities> <city>乌鲁木齐</city> </cities> </province></country>
- 用JSON表示如下:
{ "name": "中国", "province": [ { "name": "黑龙江", "cities": { "city": [ "哈尔滨", "大庆" ] } }, { "name": "广东", "cities": { "city": [ "广州", "深圳", "珠海" ] } }, { "name": "台湾", "cities": { "city": [ "台北", "高雄" ] } }, { "name": "新疆", "cities": { "city": [ "乌鲁木齐" ] } } ]}
可以看到,JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽。
四、标准JSON格式定义
虽然在JSON并没有特殊的格式要求,但是在实践过程中,JSON有比较认可的格式规范:
- JSON格式的定义一般遵循如下规范:
{ "status": // 接口访问成功或者失败的状态码 "message": // 接口访问错误的时候返回的错误提示文字,访问成功的时候为空字符串 "data":{ // 服务端实际返回的数据 }}
- 请求接口失败的例子
{ "status": "1", "message": "您尚未登录,请登录后继续操作"}
- 请求接口成功的例子
{ "status": "0", "message": "", "data": { "userId": "1", "username": "zhangsan", "worklist": [ { "workId": "1", "workname": "完成登陆界面设计" }, { "workId": "2", "workname": "完成用户中心功能编码" } ] }}
五、JSON 工具
- [x] 格式化工具
- [x] JSON-XML互转
六、参考资料
- [x] JSON_百度百科
阅读全文
0 0
- JSON语法及JSON定义规范化
- JSON 语法 及 解析
- JSON语法及使用
- json定义及jquery操作json
- 再谈JSON -json定义及数据类型
- json定义及jquery操作json
- json定义及jquery解析json
- JSON解释及语法规则
- JSON语法-对对象的简单定义
- 【JSON】JSON 语法
- JSON语法
- JSON 语法
- JSON语法
- JSON 语法
- JSON 语法
- json语法
- json语法
- JSON语法
- rtp的视频和音频格式初步分析(golang解析)
- 16. 数据结构进阶十六排序实现之基数排序
- java类文件结构
- 【JavaEE学习笔记】MySQL_01_概述,操作库,操作表,管理数据
- Cocos2d-x 3.0 beta 中加入附加项目,解决无法打开包括文件:“extensions/ExtensionMacros.h”
- JSON语法及JSON定义规范化
- Java作业-圆柱体积
- 习题6-4 骑士的移动(Knight Moves, UVa 439)
- 对线性回归,logistic回归和一般回归的认识
- LeetCode 0013
- 条款11:在operator=中处理自我赋值
- linux性能监控 -CPU、Memory、IO、Network等指标的讲解
- java se基础知识
- http请求和响应详解