文档章节

JSON & PHP

botkenni
 botkenni
发布于 2016/10/08 17:23
字数 533
阅读 43
收藏 1

环境

PHP 5.2.0,JSON扩展捆绑和编译成PHP 也是默认的支持的。

JSON函数

函数 程序库
json_encode 返回JSON表示的值
json_decode 解码为一个JSON字符串
json_last_error 返回上次发生错误

在PHP编码JSON(json_encode)

PHP json_encode()函数用于在PHP JSON编码。这个函数成功返回JSON表示的值,失败则返回FALSE。

语法:

string json_encode ( $value [, $options = 0 ] )

参数:

  • value: 即将编码的值,此函数只适用于UTF-8编码的数据。

  • options: 这个可选的值是一个位掩码,由JSON_HEX_TAG JSON_HEX_QUOT,JSON_HEX_AMP,JSON_HEX_APOS,JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT,JSON_UNESCAPED_SLASHES,JSON_FORCE_OBJECT

例子

下面的例子演示了如何用PHP数组转换成JSON:

<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>

在执行过程中,这将产生以下结果:

{"a":1,"b":2,"c":3,"d":4,"e":5}

下面的示例显示如何将PHP对象可以转换成JSON:

<?php
   class Emp {
       public $name = "";
       public $hobbies  = "";
       public $birthdate = "";
   }
   $e = new Emp();
   $e->name = "sachin";
   $e->hobbies  = "sports";
   $e->birthdate = date('m/d/Y h:i:s a', "8/5/1974 12:20:03 p");
   $e->birthdate = date('m/d/Y h:i:s a', strtotime("8/5/1974 12:20:03"));

   echo json_encode($e);
?>

在执行过程中,这将产生以下结果:

{"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"}

解码JSON在PHP(json_decode)

PHP json_decode()函数用于解码JSON在PHP。这个函数返回值从json解码成适当的 PHP类型。

语法:

mixed json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])

参数:

  • json_string: 它必须是UTF-8编码的数据编码的字符串

  • assoc: 这是一个布尔类型参数设置为TRUE时,返回的对象将被转换成关联数组

  • depth: 它是一个整数类型的参数,它指定递归深度

  • options: 它是一个整数类型的位掩码JSON解码,支持JSON_BIGINT_AS_STRING

例子

下面的示例显示了如何可以使用PHP来解码JSON对象:

<?php
   $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>

在执行过程中,这将产生以下结果:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

© 著作权归作者所有

上一篇: MySQL安装
下一篇: 序列化介绍
botkenni
粉丝 20
博文 429
码字总数 444521
作品 0
西城
程序员
私信 提问
javascript与php数据交换之json

这两天js跟php数据传递弄伤心了,特意整理一些资料,做个小结! json是js的一种数据格式,可以直接被js解析,当我们在结合php和javascript实现某些功能时,经常会用到它。php无法直接读取jso...

The-duke
2013/07/17
2.1K
3
php开发http json接口

php开发http json接口 PHP5.2开始内置了JSON的支持。当然,如果低于这个版本的话,那么市面上有很多PHP版本的实现,随便下一个用就OK啦。现在主要是说说PHP内置支持的JSON。很简单,两个函数...

d_watson
2016/04/12
44
0
PHP json_encode() 函数详解及中文乱码问题

在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。 这个函数的功能是将数值转换成json数据存储格式。 ? 1 2 3 4 5 6 7 8 9 程序运...

zyt_1978
2016/06/19
94
0
json_encode参数

$ar = array("word" => "中文","test"=>array(),'aaa'=>"4"); echo json_encode($ar,JSON_UNESCAPED_UNICODE JSON_FORCE_OBJECT JSON_NUMERIC_CHECK JSON_PRETTY_PRINT); { "word": "中文", ......

沉淀岁月
2016/11/16
371
0
okhttp通过post发送Json数据到php 更新数据库

一直在用HttpURLConnection连接PHP服务器,结果更新的数据库都是空值,一直找不到原因,也只能停手了,希望自己有一天能够解决吧~ 改成用okHttp实现 1. 布局--简单地加个button,点击后提交j...

pearl2015
2016/05/23
545
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript设计模式——适配器模式

  适配器模式是设计模式行为型模式中的一种模式;   定义:   适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适配器不需要修...

有梦想的咸鱼前端
15分钟前
1
0
Andorid SQLite数据库开发基础教程(1)

Andorid SQLite数据库开发基础教程(1) Android数据库访问方式 SQLite是Android系统默认支持的文件数据库。该数据库支持SQL语言,适合开发人员上手。本教程将讲解如何开发使用SQLite的Andro...

大学霸
18分钟前
1
0
Handler简解

Handler 这里简化一下代码 以便理解 Handler不一定要在主线程建 但如Handler handler = new Handler(); 会使用当前的Looper的, 由于要更新UI 所以最好在主线程 new Handler() { mLooper = Lo...

shzwork
40分钟前
4
0
h5获取摄像头拍照功能

完整代码展示: <!DOCTYPE html> <head> <title>HTML5 GetUserMedia Demo</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum......

诗书易经
43分钟前
3
0
正向代理和反向代理

文章来源 运维公会:正向代理和反向代理 1、正向代理 (1)服务对象不同 正向代理服务器的服务对象是客户端,可以将客户端和代理服务器看作一个整体。 (2)配置方法不同 需要在客户端配置代...

运维团
59分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部