- 浏览: 169504 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (202)
- AOP (1)
- Dom4j 使用简介 (1)
- eclipse (16)
- Git (1)
- hibernate (2)
- html (4)
- ha (1)
- JDBC (4)
- java (15)
- java泛型 (1)
- jsp (7)
- js&jquery (14)
- jdk (1)
- log4j (12)
- linux (23)
- maven (9)
- mysql (7)
- myeclipse (2)
- MongoDB (4)
- oracle应用 (3)
- php (6)
- struts2 (4)
- spring (10)
- svn (3)
- shell (7)
- servlet (8)
- socket (2)
- sqlite (1)
- TomCat (2)
- ThinkPHP (2)
- UltraEdit (1)
- vmware (2)
- WebService (2)
- web.xml (3)
- windows (1)
- xml (3)
- 软件应用 (2)
- 感悟 (1)
- 插件 (1)
- 非技术 (6)
- 编码 (1)
- 网络协议 (4)
- 杂谈 (2)
- 证书 (1)
- 加密 (3)
- 分布与集群 (1)
- PKI (1)
- thymeleaf (1)
- springboot (1)
- ajax (1)
最新评论
引用
http://www.cnblogs.com/xmphoenix/archive/2011/05/26/2057963.html
之所以要用到Json,很多时候是因为使用ajax对象时,程序与JS函数之间的数据交互。因为JS不认识PHP中的数组,PHP也不认识JS中的数组或对象。Json很好的解决了这个问题。
Json简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集,这意味着JavaScript可以直接读取Json,非常方便。
Json的具体形式是:
1.对象
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
例如: {"username": "Eric","age":23,"sex": "man"}
代码示例:
<script type="text/javascript"> function getUser() { var user = { "username": "Eric", "age":23, "family": {"mother":"Marry","father":"Alon","brother":"Tom"} }; alert( user.username ); alert( user.age ); alert(user.family.brother); } getUser(); </script>
2、数组
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
例如: ["Eric",23, "man"]
代码示例:
<script type="text/javascript"> function getArray() { var arr = ["Jarry",23, ["www.xiaophper.com","wxyh_999@126.com"]]; alert(arr[0]); alert(arr[1]); alert(arr[2][0]); alert(arr[2][1]); } getArray(); </script>
注意:对象和数组两种形式在JS中的调用时不一样啊,对象用“.”调用,数组用下标[0]、[1]调用。还要注意在传递Json串时string类型的值要用引号括起来。
PHP中将数组转变成Json
强大的PHP已经提供了内置函数:json_encode() 和 json_decode()。很容易理解,json_encode()就是将PHP数组转换成Json。相反,json_decode()就是将Json转换成PHP数组。
例如:
$array = array("name" => "Eric","age" => 23); echo json_encode($array);
程序将打印出 : {"name":"Eric","age":23}
再看下面的例子:
$array = array(0 => "Eric", 1 => 23); echo json_encode($array);
程序将打印出 :["Eric",23]
以上两个例子可以看出,如果PHP数组的键都是数字,那么json_encode()返回一个数组形式的Json,如果PHP数组的键全是字符串。那么json_encode()就会返回一个对象形式的Json。刚已经说过。两者在js中的调用是不同的。
事实上,只要在PHP数组的键中有一个字符串形式的键,那么json_encode()就会返回对象形式的Json。这是不正确的。因为,虽然在PHP代码中不会出现错误,但要是将这样的Json传给JS函数,JS会将此Json当做一个对象,而对象是不可能以数字作为属性名的。也就是说JS 不知道这是什么 : user.0.username (中间是数字零)
发表评论
-
html页面引入另一html片段,并重新加载js
2019-12-10 14:16 698页面需要有这一功能,通过点击不同的按钮,在同一<div ... -
jQuery校验上传文件格式和大小
2018-09-14 17:03 1228jQuery校验上传文件的格式和大小, <input i ... -
重置按钮
2018-09-12 16:27 435页面添加重置按钮,可用于添加页面,编辑页面(思路:先把加载后的 ... -
php换行符
2017-05-10 11:23 590echo PHP_EOL;//windows平台相当于 ... -
使用JS对中文字符串进行utf-8的Base64编码
2017-03-26 18:13 1046<!DOCTYPE html PUBLIC &quo ... -
js中使标记失效disabled,定时器
2016-12-23 09:59 668<div id="esealSubRigh ... -
计时器
2016-12-22 17:01 466jsp页面需要检测一个input框中的值,如果有变化则触发另一 ... -
数组转json,json转数组
2016-06-04 10:06 481thinkphp后台用到了将数组转成json数据传到前台htm ... -
html的disabled使用
2016-05-07 21:37 1470disabled 属性规定应该禁用 input 元素。 被禁 ... -
jQuery页面加载初始化的3种方法
2016-05-07 17:55 1623一、jQuery 页面加载初始化的方法有3种 ,页面在加载的 ... -
the resource is not on the build path of a php project
2016-05-06 13:42 2175感谢作者,原文地址 ... -
PHP 文件创建/写入
2015-09-08 11:51 626PHP 创建文件 - fopen() fopen() 函数 ... -
PHP日志记录方法
2015-04-03 17:45 708PHP一直被认为是一种上不了台面的语言,主要是因为它大量的 ... -
Myeclipse 安装Aptana3.2 插件
2014-07-28 17:57 475原文地址:http://www.cnbl ... -
html显示本地xml文件内容
2014-07-17 11:18 1320实现浏览本地xml文件 ... -
JQuery:常用方法一览
2014-06-04 09:36 641Attribute:$(”p”).addClass(cs ... -
prototype.js详解
2014-06-01 13:14 477prototype.js是什么? 万 ...
相关推荐
主要介绍了PHP实现数组转JSon和JSon转数组的方法,结合实例形式分析了php数组与json相互转换实现方法与操作技巧,需要的朋友可以参考下
php的json和数组相互转换,ci框架遇到的一些问题总结,以及图片上传的一些功能
主要介绍了PHP数组对象与Json转换操作,结合实例形式分析了php数组对象与json相互转换的实现方法及相关操作技巧,需要的朋友可以参考下
php数组转换js数组操作及json_encode的用法。需要的朋友可以过来参考下,希望对大家有所帮助
将数组,HTML,XML或JSON文件转换为SQL语法。 使用 ======================== - SELECT *FROM myArray ORDER BY key DESC,value ASC, - SELECT key,value FROM myArray WHERE value= 100 , - SELECT * FROM json_...
本文实例讲述了php实现数组中索引关联数据转换成json对象的方法。分享给大家供大家参考。具体实现方法如下: public static function encode(&$var) { return '{'.implode(',',self::encodeExcute($var)).'}'; } ...
本文实例讲述了PHP自定义递归函数实现数组转JSON功能。分享给大家供大家参考,具体如下: 问题: 由于最近的一个项目中要给别的公司提供接口,给他们喂 GBK 编码的 json 数据,但是有一个问题是 PHP 中的 json_...
PHP源码,将数组转换成JSON格式,JSON的加密,解密
您需要将your_app_id、your_api_key和your_secret_key替换为您...使用PHP SDK调用百度OCR接口,将图片转换为文字,并将识别结果保存到JSON文件中。 读取JSON文件,并将识别结果生成HTML代码。 在页面中显示HTML代码。
用于将 json 文件转换为具有关联数组的 php 文件的 Grunt 插件。 入门 这个插件需要 Grunt ~0.4.x 如果您以前没有使用过 ,请务必查看指南,因为它解释了如何创建以及安装和使用 Grunt 插件。 熟悉该过程后,您...
主要介绍了php array 转json及java 转换 json数据格式操作,结合实例形式分析了PHP针对array数组转json以及Java操作Map、List、对象与json格式转换的相关实现技巧,需要的朋友可以参考下
今天小编就为大家分享一篇PHP 二维array转换json的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要介绍了php简单构造json多维数组的方法,结合实例形式分析了php数据库查询结果的json格式转换操作技巧,需要的朋友可以参考下
主要介绍了php json转换成数组形式代码分享,需要的朋友可以参考下
所以决定梳理一下php的json转换相关的内容。 索引数组转json 看如下示例代码: $a = ['aa', 'bb', 'cc']; $ret = json_encode($a); var_dump($ret); 打印结果是: string(16) “[“aa”,”bb”,”cc”]” 可以...
一些表单验证需要返回json数据,php的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数。 最开始的思路,将数组序列化后用iconv函数转换编码,之后再...