关于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. Mysql Navicat连接

    mysql -u root ip; 1.use mysql; 2.alter user 'root'@'localhost' identified with mysql_native_password ...

  2. C++实现文件内字符数、单词数、行数的统计

    先给出github上的代码链接以及项目需求 1. 项目简介 这个项目的需求可以概括为:对程序设计语言源文件统计字符数.单词数.行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处 ...

  3. java中如何使用break跳出多重循环

    java 中已知的三种跳出多重循环的方式: System.out.println("---------java中跳出多重循环的三种方式:---------"); System.ou ...

  4. Java多线程编程核心技术(一)

    先提一下进程,可以理解为操作系统管理的基本单元. 而线程呢,在进程中独立运行的子任务.举个栗子:QQ.exe运行时有很多子任务在同时运行,比如好友视频线程.下载视频线程.传输数据线程等等. 多线程的优 ...

  5. Mysql 主从数据库

    MYSQL主从数据库同步备份配置 一.准备 用两台服务器做测试: Master Server: 172.16.0.180/Linux/MYSQL 5.1.41 Slave Server: 172.16 ...

  6. 第44章:MongoDB-集群--Sharding(分片)--分片的片键选择

    ①片键选择的重要性 所谓片键,就是用来拆分数据的字段,通常为1-2个字段,由于片键一旦确定,并已经分片过后,基本上就不可能再修改片键了,因此初期设计和选择就非常重要了 ②片键规则 1:不可以是数组 2 ...

  7. Mac下git配置

    1.下载git 2.配置key macdeMacBook-Pro:~ mac$ cd ~/.ssh macdeMacBook-Pro:.ssh mac$ ssh-keygen -t rsa -C &q ...

  8. 11-Python操作excel

    1.python操作excel需要用到的库 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可以直接pip安装这两个库,pip in ...

  9. web专业课学习及往后方向发展

    日常10点起床!!!! web主要是网页设计,目前自我方向是学习web前端开发,熟悉掌握相关的编辑应用已达到能设计出满意的网页,日后继续学习后端等 ,成为全栈工程师.

  10. Chapter 8 The Simplest Plug-in Solution

    This chapter introduces the simplest plug-in solution that are applicable to the four major componen ...