- 浏览: 178618 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 783页面需要有这一功能,通过点击不同的按钮,在同一<div ... -
jQuery校验上传文件格式和大小
2018-09-14 17:03 1273jQuery校验上传文件的格式和大小, <input i ... -
重置按钮
2018-09-12 16:27 485页面添加重置按钮,可用于添加页面,编辑页面(思路:先把加载后的 ... -
php换行符
2017-05-10 11:23 629echo PHP_EOL;//windows平台相当于 ... -
使用JS对中文字符串进行utf-8的Base64编码
2017-03-26 18:13 1132<!DOCTYPE html PUBLIC &quo ... -
js中使标记失效disabled,定时器
2016-12-23 09:59 716<div id="esealSubRigh ... -
计时器
2016-12-22 17:01 513jsp页面需要检测一个input框中的值,如果有变化则触发另一 ... -
数组转json,json转数组
2016-06-04 10:06 518thinkphp后台用到了将数组转成json数据传到前台htm ... -
html的disabled使用
2016-05-07 21:37 1524disabled 属性规定应该禁用 input 元素。 被禁 ... -
jQuery页面加载初始化的3种方法
2016-05-07 17:55 1700一、jQuery 页面加载初始化的方法有3种 ,页面在加载的 ... -
the resource is not on the build path of a php project
2016-05-06 13:42 2208感谢作者,原文地址 ... -
PHP 文件创建/写入
2015-09-08 11:51 668PHP 创建文件 - fopen() fopen() 函数 ... -
PHP日志记录方法
2015-04-03 17:45 744PHP一直被认为是一种上不了台面的语言,主要是因为它大量的 ... -
Myeclipse 安装Aptana3.2 插件
2014-07-28 17:57 518原文地址:http://www.cnbl ... -
html显示本地xml文件内容
2014-07-17 11:18 1367实现浏览本地xml文件 ... -
JQuery:常用方法一览
2014-06-04 09:36 715Attribute:$(”p”).addClass(cs ... -
prototype.js详解
2014-06-01 13:14 517prototype.js是什么? 万 ...
相关推荐
- **XML/JSON互相转换工具**:在XML和JSON之间进行快速转换。 - **JSON代码在线格式化/美化/压缩/编辑/转换工具**:提供多种操作选项,包括格式化、压缩、编辑和转换JSON数据。 - **C语言风格/HTML/CSS/json代码格式...
JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用双引号包围。例如:`{"name": "John", "age": 30}`。数组则用方括号[]表示,元素间以逗号分隔,如:`["apple", "banana", "orange"]`。 2. **...
在PHP中,将JSON字符串转换为PHP数组或对象,我们可以使用内置的`json_decode`函数。例如,给定一个JSON字符串`$json`,可以这样转换: ```php $arr = json_decode($json, true); // true表示转换为关联数组 $obj =...
php的json和数组相互转换,ci框架遇到的一些问题总结,以及图片上传的一些功能
PHP内置了大量的函数来处理数组和字符串,例如在需要构建客户端需要的动态数据时,将PHP数组转换为JSON格式再被JavaScript所使用是一种常见的场景。 首先,PHP数组可以以非常灵活的方式来存储多维数据结构。数组...
在JSON转换过程中,经常用到的是数组和对象两种格式。JavaScript中对象通过`{}`定义,包含一组“键值对”,键和值之间用冒号`:`分隔,键值对之间用逗号`,`分隔。而数组则是用`[]`定义,元素之间也是用逗号`,`分隔。 ...
JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛用于服务器与客户端之间的数据传递,因为它的结构清晰、易于阅读和编写,同时也方便机器解析和生成。然而,JSON本身并不直接支持二进制数据的...
上述代码首先使用`simplexml_load_file()`函数加载XML文件并将其转换为SimpleXMLElement对象,然后通过两次`json_encode()`操作将其转换为PHP数组,最后再次编码为JSON字符串。 其次,XML转数组通常是为了方便在PHP...
然而,PHP中的数组和JSON对象之间的转换可能会导致一些混淆,尤其是当数组的结构不规则时。 PHP的`json_encode`函数用于将PHP值转化为JSON格式的字符串。对于数组,`json_encode`处理方式有所不同。当数组满足以下...
在PHP编程中,将数组转换为JSON对象是一个常见的任务,特别是在处理前端与后端的数据交互时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。PHP...
例如,一个关联数组可以被转换为JSON对象,一个数值或字符串数组可以被转换为JSON数组。 ```php class Json { function encode($data) { // 实现代码,将PHP数据转换为JSON字符串 } } ``` 使用这个类时,你可以...
json_encode() 函数是 PHP 提供的一个函数,它可以将 PHP 数组转换为 JSON 字符串。例如: ```php <?php $data = array( 0 => array("a" => "orange", "b" => "banana", "c" => "apple"), 1 => array(1, 2, 3, 4,...
首先,PHP提供了内置函数`json_encode()`,该函数可以将PHP数组直接转换为JSON字符串。对于普通的数组来说,使用起来非常简单。例如: ```php $array = array('a' => 'Apple', 'b' => 'Banana'); $json = json_...
2. `json_decode()` 函数:当字符串是JSON格式时,可以使用`json_decode()`将其转换为PHP数组: ```php $json_str = '{"fruit":"apple","color":"red"}'; $array = json_decode($json_str, true); print_r($array);...
在PHP 5.0及更高版本中,这些函数内置于核心,可以方便地将PHP数组或对象转换为JSON字符串,或将JSON字符串解析为PHP数据结构。 `json_encode`函数是将PHP值转换为JSON字符串的关键。在Services_JSON库中,你可以...
"php三联地区数组版和数组转换js代码"这个资源提供了一种解决方案,它包括了PHP和JavaScript之间的数据转换,以方便在前端和后端之间进行数据交互。下面我们将深入探讨这个主题。 首先,三联地区数据通常指的是省份...
将数组,HTML,XML或JSON文件转换为SQL语法。 使用 ======================== - SELECT *FROM myArray ORDER BY key DESC,value ASC, - SELECT key,value FROM myArray WHERE value= 100 , - SELECT * FROM json_...
在这个例子中,我们创建了一个关联数组,然后使用json_encode()将其转换为JSON字符串。结果将是: ```json { "name": "John Doe", "age": 30, "city": "New York" } ``` 如果你需要处理的对象是PHP类的实例,...