细读 php json数据和JavaScript json数据
2015-10-26 21:08
513 查看
关于JSON的优点:
1、基于纯文本,跨平台传递极其简单;
2、Javascript原生支持,后台语言几乎全部支持;
3、轻量级数据格式,占用字符数量极少,特别适合互联网传递;
4、可读性较强
5、容易编写和解析,
一,phpjoson数据
PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。
json数据的格式有对象和数组,大括号{}和方括号[],其余英文冒号:是映射符,英文逗号,是分隔符,英文双引号""是定义符。
对象:
1.是一个无序的“‘名称/值’对”集合
2.以 “{” (左括号)开始,“}”(右括号)结束
3.每个“名称”后跟一个“:”(冒号)
4.多个 ”名称”:”值” 之间使用 ,(逗号)分隔
5.例如:{“username”:”chenshishuo”,”sex”:”man”,”age”:”22”}
数组:
1.值(value)的有序集合
2.以“[”(左中括号)开始,“]”(右中括号)结束
3.值之间使用“,”(逗号)分隔
4.例如:[“a”,”b”,”c”,”d”]
//json_encode()
1)数组是索引数组
那么输出的是
2)数组是关联数组
那么输出的是
注意,数据格式从"[]"(数组)变成了"{}"(对象)。
3)转化类
输出的是
可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。
//json_decode
1.键值对json数组
1)运行出来后得到一个对象
如果要取得这个对象的某个值可以用
$objJson = json_decode($json);
$objJson->a; //输入 hello
2)如果要用json_decode(“键值对json数据”) 返回的是一个数组
则需要加一个参数
json_decode($json,true);
2.非键值对的json数据
运行出来后得到的是一个数组
二.javascript json数据
1. { } 对于javascript 读取对象中的值用 "."
例如第一个例子 var testone = test.c;
2. [ ] 数组中的值 需要添加相对应的键值或者索引值
例如第二个例子的 var testtow = testmore[1].a
1、基于纯文本,跨平台传递极其简单;
2、Javascript原生支持,后台语言几乎全部支持;
3、轻量级数据格式,占用字符数量极少,特别适合互联网传递;
4、可读性较强
5、容易编写和解析,
一,phpjoson数据
PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。
json数据的格式有对象和数组,大括号{}和方括号[],其余英文冒号:是映射符,英文逗号,是分隔符,英文双引号""是定义符。
对象:
1.是一个无序的“‘名称/值’对”集合
2.以 “{” (左括号)开始,“}”(右括号)结束
3.每个“名称”后跟一个“:”(冒号)
4.多个 ”名称”:”值” 之间使用 ,(逗号)分隔
5.例如:{“username”:”chenshishuo”,”sex”:”man”,”age”:”22”}
数组:
1.值(value)的有序集合
2.以“[”(左中括号)开始,“]”(右中括号)结束
3.值之间使用“,”(逗号)分隔
4.例如:[“a”,”b”,”c”,”d”]
//json_encode()
1)数组是索引数组
那么输出的是
2)数组是关联数组
那么输出的是
注意,数据格式从"[]"(数组)变成了"{}"(对象)。
3)转化类
输出的是
可以看到,除了公开变量(public),其他东西(常量、私有变量、方法等等)都遗失了。
//json_decode
1.键值对json数组
1)运行出来后得到一个对象
如果要取得这个对象的某个值可以用
$objJson = json_decode($json);
$objJson->a; //输入 hello
2)如果要用json_decode(“键值对json数据”) 返回的是一个数组
则需要加一个参数
json_decode($json,true);
2.非键值对的json数据
运行出来后得到的是一个数组
二.javascript json数据
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <script type="text/javascript"> window.onload = function(){ var test = { "a": "hello", "b": "world", "c": 22, "d": true } var testone = test.c; alert("第一次"+testone); var testmore = [ { "a": "hello", "b": "world", "c": 22, "d": true }, { "a": "hello2", "b": "world2", "c": 23, "d": true }, { "a": "hello3", "b": "world3", "c": 24, "d": false } ] var testtow = testmore[1].a alert("第二次"+testtow); var testmul = { "name":"css", "sex":"man", "age":22, "hobby": [ { "ball":"basketball", "like":"30%", }, { "ball":"basketball", "like":"70%", }, { "ball":"football", "like":"0%", }, ] } var testthree = testmul.hobby[1].ball+"---"+testmul.hobby[1].like; alert("第三次"+testthree); } </script> <body> hello world </body> </html>
1. { } 对于javascript 读取对象中的值用 "."
例如第一个例子 var testone = test.c;
2. [ ] 数组中的值 需要添加相对应的键值或者索引值
例如第二个例子的 var testtow = testmore[1].a
相关文章推荐
- JSP的学习(2)——语法知识一
- js图片懒加载资源引用
- JavaScript之射击类小游戏的简单示例
- d3.js绘制箭头
- 【JavaScript】兼容IE6的收起折叠效果
- js中阻止默认事件,阻止冒泡事件
- JS 指定天数倒计时 setInterval()
- JSP 自定义标签:简单标签
- JSP的学习(1)——基本知识与底层原理
- D3.js中使用scale
- js拼接字符串传值,子窗口传值
- jsonString 转字典
- JavaScript 继承代码中,B.prototype = new A(); 的含义是什么?[转自知乎]
- 在Javascript面向对象设计一
- 用javascript写一个前端等待控件
- 用javascript写一个前端等待控件
- document.createElement()的用法
- JavaScript之元素在屏幕从左到右移动的的示例
- js密码的匹配正则
- 引入js文件不起效果总结