JSON专题-基础知识
来源:互联网 发布:淘宝网pu羽绒服 编辑:程序博客网 时间:2024/05/11 03:24
一、JSON理论
Json的全称为 Java Script Object Notation(JavaScript对象表示方法),从名字就可以它的常用场景是在web项目中,是存储和交换文本信息的语法,和XML非常类似。由于其比XML更小、更快而且更容易解析,所以在一般情况下用JSON替代了XML。JSON虽然使用JavaScript语法描述数据对象,但是其仍然独立于平台和语言,JSON解析器和JSON库支持不同的语言编程,当前流行的动态编程语言(PHP /JSP /.NET)都支持JSON。
JSON实例:
{"taskID":12, //数字
"taskName":"TN-012", //字符串
"isFinish":true, //true or false
"taskItem":[
{
"itemName":"TN-012-001"
},
{
"itemName":"TN-012-002"
}
], //数组
"taskSpendTime":{
"hours":13
}, //对象
"others":null //null
}
二、JSON基本语法
2.1 JSON值
从上述的JSON实例中可以看出,JSON的值可以分为6种:
- 数字 (整数和逻辑值)
- 字符串 (在双引号中)
- 逻辑值 (true or false)
- 数组 (在方括号中)
- 对象 (在花括号中)
- null
2.2 JSON对象
JSON对象是包括在花括号中的,对象是以多个key/value形式构成的:
{
"name":"wangweiwei",
"address":"Beijing"
}
"name":"wangweiwei",
"address":"Beijing"
}
这一点等价于JavaScript中的 name = "Wangweiwei" address = "Beijing"。
2.3 JSON数组
JSON数组时包含在方括号中的,一个JSON数组可以包括多个JSON对象。
三、JSON在JavaScript中在应用
在JavaScript中,常见的有三种:普通对象,JSON对象,JSON字符串。
JSON字符串: var str = '{"task":"task1","taskNo":"001"}'; //注意有‘’,是字符串性质的
JSON对象: var obj = {"task":"task1","taskNo":"001"}; //符合JSON数据个数的JSON对象
普通JS对象: function Task(String task,String taskNo){
this.task = task;
this.taskNo = taskNo;
}
var obj2 = new Task("task3","taskNo003");
3.1 JSON字符串转换为JSON对象
(1) var obj = eval('('+str+')');
(2) var obj = str.parseJSON();
(3) var obj = JSON.parse(str);
Note: 如果obj本来就是一个JSON的对象,那么经过eval经过多次转换之后仍然为JSON对象,但是使用parseJSON()函数转化之后就会有异常。
3.2 JSON对象转换为JSON字符串
(1) var str = obj.toJSONString(); (2) var str = JSON.stringify(obj);
普通对象转换成JSON字符串的方法相同。
Note:在上述的几个方法中,eval函数是js自带的,其他的方法都来自于json.js包,在新版本的JSON API中,将全局函数JSON.parse()和JSON.stringify()都内嵌到JS的内建对象中了,分别为String.parseJSON() 和 Object.toJSONString(),如果找不到,则说明json包版本太低。
四、其他
如果JSON字符串太多,防止出错,那么可以采用JSON校验工具进行检测。JSON校验网址:http://www.json.cn
0 0
- JSON专题-基础知识
- 专题一:计算机系统基础知识
- json 基础知识
- Json基础知识
- json 基础知识
- JSON 基础知识
- JSON基础知识
- JSON基础知识
- JSON基础知识
- json 基础知识
- iOS开发学习专题-基础知识(三)NSDictionary字典NSMutableDictionary可变字典NSDictionary字典和json转换详细使用方式
- spark 基础知识- spark SQL专题
- JSON专题-Ajax中Json应用
- json对象的基础知识
- JSON基础知识整理
- JSON 数据格式(基础知识)
- JSON的一些基础知识
- jQuery/Json/Ajax基础知识
- 基于zepto写的几个常用小东西(toast、加载器、上拉加载、下拉刷新)
- JavaScript 实现放大镜效果
- Android-Service (基本知识,生命周期,实例-startService 启动的服务音乐播放器后台服务播放)
- tolua++ 返回值
- Socket
- JSON专题-基础知识
- xcode8继续愉快的使用插件
- WordPress database error: [Got error 28 from storage engine]
- 第一次作业-开发环境搭建与第一个简单APP开发
- 矩阵消消乐
- HDU2476 区间DP
- WEB性能优化之GZIP压缩
- 个人中心顶部图片拉伸效果
- (原创)Android 通过反射获取真实的可用内存空间大小