关于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数据的更多相关文章

  1. 向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 ...

  2. 移动端基于HTML模板和JSON数据的JavaScript交互

    写本文之前,我正在做一个基于Tab页的订单中心: 每点击一个TAB标签,会请求对应状态的订单列表.之前的项目,我会在js里使用 +  连接符连接多个html内容: var html = ''; htm ...

  3. JSON数据与JavaScript对象转换

    使用JSON时,最基本的工作就是JSON数据与JavaScript对象之间的互相转换.如浏览器 从服务器端获得JSON数据,然后转换为JavaScript对象在网页输出. SON: JavaScrip ...

  4. 8.7 JSON存储数据方式(JavaScript对象表示法)

    8.7 JSON存储数据方式(JavaScript对象表示法) JSON JavaScript 对象表示法(JavaScript Object Notation) 是一种存储数据的方式. 一.创建JS ...

  5. JavaScript学习总结(六)数据类型和JSON格式

    转自:http://segmentfault.com/a/1190000000668072 什么是JSON JSON:JavaScript 对象表示法(JavaScript Object Notati ...

  6. javascript json数据的处理

    1.前端页面default.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  7. (Spring4 json入门)Spring4+SpringMVC+页面数据发送与接收(json格式)

    jar包(Maven仓库): Spring4 jar包(Maven仓库): 在测试过程中我查看了网上的一些教程,但是那些教程都是在Spring3环境下的,Spring3和Spring4解析json需要 ...

  8. 用ajax获取后台数据,返回json数据,怎么在前台使用?

    用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...

  9. ios的网络数据下载和json解析

    ios的网络数据下载和json解析 简介 在本文中,笔者将要给大家介绍如何使用nsurlconnection 从网上下载数据,以及解析json数据格式,以及如何显示数据和图片的异步下载显示. 涉及的知 ...

随机推荐

  1. Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法

    原文链接 http://blog.csdn.net/bbdxf/article/details/25594703 [Decode error - output not utf-8]或者[Decode  ...

  2. 移动端使用fastclick时,模拟原生浏览器对象

    移动浏览器原生click事件有300ms的延时,这是浏览器为了区分到底是双击还是单击事件.(实际上有些移动浏览器不支持双击事件.PC版chrome在手机模式下,当禁止用户双击缩放页面时(即有viewp ...

  3. sui.js和workflow2.js内容详解

    一. 二. var config=$("div[name=lwnf]").sui().getConfig()~var config = this.zoo.getConfig();等 ...

  4. 在anguler项目中引用fullCalendar

    1.css文件引用 <link href="/CSS/Fullcalendar.css" rel="stylesheet" /> <!--插件 ...

  5. 每日一练ACM 2019.04.14

    2019.4.14 第1001题:Sum Problem Problem DescriptionHey, welcome to HDOJ(Hangzhou Dianzi University Onli ...

  6. Hibernate框架:CRM练习--保存客户

    crm:customer ralation manager 客户关系管理系统 一.准备 1.创建web项目 2.导包 最终为: 3.引入静态页面 将文件复制放入项目的WebContent目录下面: 4 ...

  7. ffmpeg 推流相关指令

    1.rtsp->rtsp(只解封装,不解码) ffmpeg -re -rtsp_transport tcp -i rtsp://usr:passwd@ip:port/h264/ch1/sub/a ...

  8. MFC中添加控制台输出

    可以在CWinApp的InitInstance()中调用下面的函数,以生成控制台: #include <io.h> #include <fcntl.h> void InitCo ...

  9. java注解的实质,何为注解

    注解就是贴标签 (1)注解的作用 1,生成文档.如常用的@param 2,跟踪代码依赖性,实现替代文件的功能.在spring中,主要是减少配置. 3,编译时进行格式检查.如常用的@override ( ...

  10. 京东Alpha平台开发笔记系列(三)

    摘要:通过前面两篇文章的讲述,大致了解了JdAlpha平台前端开发的主要流程.接下来本篇文章主要讲述后台服务器端开发的主要流程.这里会涉及到后台服务器的搭建的内容,本篇文章就不以赘述,如需了解请读下面 ...