json对象简介
来源:互联网 发布:演唱会舞台设计软件 编辑:程序博客网 时间:2024/06/08 02:41
什么是JSON对象
1.什么是json?
JSON全称是JavaScript Object Notation,是一种轻量级的数据交换格式。JSON 与XML具有相同的特性,是一种数据存储格式,但是JSON相比XML 更易于人编写和阅读,更易于生成和解析。
2.JSON的语法规则:
1)数据以名称/值对的形式保存,名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值,如 :"firstName" : "John"。JSON的值可以是数字、字符串、null、true、false、数组或对象。
2)数据有都好分隔
3)花括号保存对象,对象可以包含多个名/值对。
4)方括号保存数组,数组可以包含多个对象。
5)JSON文件:
- JSON 文件的文件类型是 ".json"
- JSON 文本的 MIME 类型是 "application/json"
3.JSON 的两种结构:
1)键值对形式,即Name-Value对的结构结构集合(无序的 )。如:{name1:value1.name2:value2,...};
{"name":"小明","age":"12"}
2)Array(有序的):一组有序的数据列表。例如:[value1,value2,value3,.....],其中,值可以是双引号引起来的字符串(string)、数值(number)、true、false、null、对象(object)或者数组(Array),这些结构都是可以嵌套的。如:
例一:对象中可以包含数组
{"root":[{"id":"001","name":"小红"},{"id":"002","name":"小明"},{"id":"003","name":"小丽"}],"total":3,"success":true}
例二:也可以对象嵌套子对象,子对象再嵌套数组:
{"memberList":{"lists":[{"id":"001","name":"小红"},{"id":"002","name":"小明"},{"id":"003","name":"小丽"}]}}
例三:数组中可以包含对象:
[{"id":"001","name":"小红"},{"id":"002","name":"小明"},{"id":"003","name":"小丽"},........]
4.JSON 的取值方式和修改方式:
如:
var employees = [{ "firstName":"Bill" , "lastName":"Gates" },{ "firstName":"George" , "lastName":"Bush" },{ "firstName":"Thomas" , "lastName": "Carter" }];
取值:employees[0].lastName
修改数据:employees[0].lastName="Jobs"
5.JSON与字符串之间的转化方法:
JSON转换为字符串(string)格式:var string=JSON.stringify(obj);
将Json字符串转换为JSON:
(1)var data=JSON.parse(string);
function strToJson(){
return JSON.parse(str);
}
使用JSON.parse需严格遵守JSON规范,如属性都需要用引号引起来,否则会出错,如下:
var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error
name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。(下面这两种方式则没有问题)
(2)eval(string);
例如:function myEval(){
var str='{"id":"001","name":"小明","age":10}';
var obj=eval('('+str+')');
alert(obj.toJSONString());
}
(3) new Function形式
function strToJson(str){
var json=(new Function("return"+str))();
}
(4)jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象
- json对象简介
- JSON 简介
- JSON 简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSON简介
- JSon简介
- json简介
- Java面试题集(151-180)
- 内联元素定位问题
- expdp 很慢:Streams AQ: enqueue blocked on low memory
- 想成为一名成功的UX设计师吗?做好这13件事情吧
- 欢迎使用CSDN-markdown编辑器
- json对象简介
- 数据存储引擎比较
- Java面试的总结
- 阿里巴巴Java开发手册Eclipse插件使用指南
- tensorflow 实现AlexNet(附lrn API介绍)
- 设计模式【观察者模式Observer Pattern】
- svn安装的几种方法
- 关于sizeof一个类对象
- 给定一个链表和一个值x,对它进行分区,使得小于x的所有节点都在大于或等于x的节点之前.保留两个分区中的每一个节点的原始相对顺序。