细读 php json数据和JavaScript json数据
关于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数据
<!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
细读 php json数据和JavaScript json数据的更多相关文章
- 向json中添加新的熟悉或对象 Add new attribute (element) to JSON object using JavaScript
How do I add new attribute (element) to JSON object using JavaScript? JSON stands for JavaScript Obj ...
- 移动端基于HTML模板和JSON数据的JavaScript交互
写本文之前,我正在做一个基于Tab页的订单中心: 每点击一个TAB标签,会请求对应状态的订单列表.之前的项目,我会在js里使用 + 连接符连接多个html内容: var html = ''; htm ...
- JSON数据与JavaScript对象转换
使用JSON时,最基本的工作就是JSON数据与JavaScript对象之间的互相转换.如浏览器 从服务器端获得JSON数据,然后转换为JavaScript对象在网页输出. SON: JavaScrip ...
- 8.7 JSON存储数据方式(JavaScript对象表示法)
8.7 JSON存储数据方式(JavaScript对象表示法) JSON JavaScript 对象表示法(JavaScript Object Notation) 是一种存储数据的方式. 一.创建JS ...
- JavaScript学习总结(六)数据类型和JSON格式
转自:http://segmentfault.com/a/1190000000668072 什么是JSON JSON:JavaScript 对象表示法(JavaScript Object Notati ...
- javascript json数据的处理
1.前端页面default.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- (Spring4 json入门)Spring4+SpringMVC+页面数据发送与接收(json格式)
jar包(Maven仓库): Spring4 jar包(Maven仓库): 在测试过程中我查看了网上的一些教程,但是那些教程都是在Spring3环境下的,Spring3和Spring4解析json需要 ...
- 用ajax获取后台数据,返回json数据,怎么在前台使用?
用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...
- ios的网络数据下载和json解析
ios的网络数据下载和json解析 简介 在本文中,笔者将要给大家介绍如何使用nsurlconnection 从网上下载数据,以及解析json数据格式,以及如何显示数据和图片的异步下载显示. 涉及的知 ...
随机推荐
- easyui-combobox的option选项为true与false时的问题
如题,我们使用easyui-combobox,当我们的选择项为true与false时,即选择是否,后台返回一个boolean类型的变量,那么这时候,通过form表单进行反显会出现这样的问题:表单里ea ...
- Codeforces Round #538 (Div. 2) CTrailing Loves (or L'oeufs?)
这题明白的意思就是求n!在b进制下的后缀零的个数. 即最大的n!%(b^k)==0的k的值.我们需要将如果要构成b这个数,肯定是由一个个质因子相乘得到的.我们只需要求出b的质因子,然后分析n!中可以组 ...
- P1081 开车旅行(Not Finish)
https://www.luogu.org/problemnew/show/P1081
- SpringBoot_配置文件
Properties配置 SpringBoot中采用了大量的自动化配置,但是对开发者而言,在实际项目中不可避免会有一些需要自己手动配置,承载这些自定义配置的文件就是resources 目录下的appl ...
- windowsSevice程序和topshelf程序创建服务对比
文章原地址:http://www.80iter.com/blog/1451523192435464 Topshelf 创建.net服务整理和安装步骤 windowsService和topshelf服务 ...
- 去掉ACM论文左下角和页眉
在\documentclass下添加如下命令: \fancyhead{} //去掉页眉 \settopmatter{printacmref=false} % Removes citation info ...
- flag读取控制台参数
package main import ( "fmt" "os") func main() { arg := os.Args if len(arg) < ...
- 20155205 郝博雅 Exp9 Web安全基础
20155205 郝博雅 Exp9 Web安全基础 一.实验内容 一共做了13个题目. 1.WebGoat 输入java -jar webgoat-container-7.1-exec.jar 在浏览 ...
- [swarthmore cs75] Compiler 6 – Fer-de-lance
课程回顾 Swarthmore学院16年开的编译系统课,总共10次大作业.本随笔记录了相关的课堂笔记以及第8次大作业. First-class function: It treats function ...
- impala教学视频
https://www.iqiyi.com/playlist394935102.html