PHP JSON

本章节我们将为大家介绍如何使用 PHP 语言来编码和解码 JSON 对象。


环境配置

在 php5.2.0 及以上版本已经内置 JSON 扩展。


JSON 函数

函数 描述
json_encode 对变量进行 JSON 编码
json_decode 对 JSON 格式的字符串进行解码,转换为 PHP 变量
json_last_error 返回最后发生的错误

json_encode

PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。

语法

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

参数

  • value: 要编码的值。该函数只对 UTF-8 编码的数据有效。
  • options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, 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_decode

PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。

语法

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

参数

  • json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据

  • assoc: 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。

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

  • options: 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。

实例

以下实例演示了如何解码 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)
}

最新文章

  1. SQL Server 复制快照执行错误 错误代码 14068
  2. HTML5资料
  3. 分析循环 Analysis of Loops-------geeksforgeeks 翻译
  4. [C#基础]说说委托+=和-=的那些事
  5. GPUImage学习
  6. C# 解析json Newtonsoft.Json
  7. 在Ubuntu上为Android系统编写Linux内核驱动程序
  8. 解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
  9. 前端新人学习笔记-------html/css/js基础知识点
  10. Swift - 动态添加删除TableView的单元格(以及内部元件)
  11. Codeforces Round #234 (Div. 2) B. Inna and New Matrix of Candies
  12. ecshop和jQuery冲突
  13. libpng+VS2012(VS2015)的使用
  14. Django框架简介-开头
  15. confusion_matrix(混淆矩阵)
  16. Linux:http配置
  17. 【BZOJ1053】 反素数ant
  18. android开发学习——day1
  19. 【Unity】11.4 车轮碰撞体(Wheel Collider)
  20. saltstack-----上线环境篇(一)

热门文章

  1. LINUX 下 一些常用的信息显示命令:
  2. 如何将less编译成css文件__less自动编译成css的方法总结
  3. 来看下css边框阴影怎么设置?这些方法掌握后工作更轻松
  4. Web前端MVC框架的意义分析
  5. 线性动归之Wooden Sticks
  6. The Meaningless Game 思维题
  7. 线下---复习day04
  8. jmeter察看结果树-响应数据乱码
  9. 【TokyoWesterns CTF】shrine
  10. 数据可视化之powerBI基础(十八)Power BI度量值的格式如何修改?这里有三种方式