Json
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。
JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。
-
数据在键值对中
-
数据由逗号分隔
-
花括号保存对象
-
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:
1
|
"firstName":"John" |
这很容易理解,等价于这条 JavaScript 语句:
1
|
firstName="John" |
JSON 值
JSON 值可以是:
-
数字(整数或浮点数)
-
字符串(在双引号中)
-
逻辑值(true 或 false)
-
数组(在方括号中)
-
对象(在花括号中)
-
null
这里对数组转json字符串和json转对象数组进行下自我的理解
JS中
因为最近做项目的时候需要,所以需要了解一下
数组转json主要是转的时候注意格式,以及对他的键值的指定,我遇到的问题是以数组的值作为json的值
var json_array = []; for(var i = 0;i<10;i++) { /* * 创建object对象,存放到数组中 */ var person=new Object(); person.name = "Q"+i; person.age = i; json_array.push(person); } /* * 将object数组转会为json形式; */ var json = JSON.stringify(json_array); console.log(json); /* * json转object数组 */ var jsonobj = JSON.parse(json, function (key, value) { return key.indexOf('date') >= 0 ? new Date(value) : value; }); console.log(jsonobj);
同时对指定的键值也可以采取拼接的方法
var changes=['a','b','c','d']; var person=new Object(); var data=['name','age','time',"wocao"]; var jsonstr='{' for ( var j = 0; j < changes.length; j++) { jsonstr+=data[j]+":"; jsonstr+=changes[j]; if(j!=changes.length-1){ jsonstr+=',' } } jsonstr+='}';