PHP JSON2025年04月17日 | 阅读 4 分钟 什么是 JSON?JSON (JavaScript Object Notation) 是用于数据交换和存储的最广泛使用的开放标准文件格式之一。它以人类可读的语言利用数组数据类型和属性-值对来表示数据。 JSON 文件通常用于从 Web 服务器读取数据并在网页中显示数据。在本章中,我们将描述 JSON 数据如何在客户端和 PHP 服务器之间进行交换。 JSON 对象看起来像这样 JSON 使我们能够以一种易于在线共享的方式来组织和表达复杂的数据。尽管它以 JavaScript 命名,但 JSON 的设计目的是与所有编程语言协同工作。 让我们看看如何将PHP 变量转换为 JSON。 PHP 变量转换为 JSON (JSON_Encode)PHP 提供了一些内置函数来处理 JSON。一个名为 json_encode() 的原生 PHP 函数可以帮助您将 PHP 数据转换为 JSON 格式。 语法 示例让我们看一个在 PHP 中编码 JSON 的示例。 示例立即执行输出 {"a":1, "b":2, "c":3, "d":4, "e":5} 为什么要将 PHP 编码为 JSON?如前所述,JSON 是在线数据交换最广泛使用的格式之一。因此,在某些情况下,PHP 服务器提供和分析 JSON 编码数据的能力可能至关重要。 让我们研究一下如何使用 json_encode() 将不同的 PHP 数据结构编码为 JSON。 PHP 字符串转换为 JSON字符串的 JSON 编码就是字符串本身。因此,将 PHP 字符串转换为 JSON 非常简单;返回相同的字符串。 让我们用一个例子来说明这一点 示例立即执行输出 "Good Morning!" PHP 对象转 JSON使用第 1.1 节中的 Library 示例,让我们创建一个 Book 类的实例来学习如何将 PHP 对象 JSON 编码。对于 book 的实例,我们将设置两个实例变量并使用 json_encode() 对对象进行编码。 示例立即执行输出 {"id":202, "model": "Tesla Model S"} PHP 数组转 JSONPHP 支持三种不同类型的数组:多维数组、关联数组和索引数组。让我们研究一下它们是什么以及一些将它们编码为 JSON 的示例。 JSON 索引数组 由索引号表示的常规数组称为索引数组。 $arr = array(1,2,3,4); // [1,2,3,4] 是一个例子。 将它们转换为 JSON 很简单。 示例立即执行输出 [1,2,3,4] JSON 转关联数组在关联数组中,使用命名键作为值的索引。 $age = array("John"=>"11", "Ken"=>"19", "Tim"=>"14"); 例如 通过像这样编码关联数组,我们还可以获得前面看到的 book JSON 对象。 示例立即执行输出 {"id":101,"label":"Lorem Ipsum"} JSON_Decode:将 JSON 变量转换为 PHP如果您的 JavaScript 前端将基于 JSON 的数据发送回您的 PHP 服务器,这很可能,您需要一种方法来解码 JSON 数据,以便 PHP 可以解释它。 为此,我们可以使用 PHP 的 json_decode() 函数,该函数接受 JSON 编码的文本并返回相应的 PHP 变量。 语法 示例让我们看一个解码 JSON 字符串的示例。 示例立即执行输出 array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } json_encode 和 json_decode 结合使用的示例示例立即执行输出 JSON Data: {"departments":[{"id":301, "name":"Computer Science"},{"id":302,"name":"Mechanical Engineering"}]} Decoded PHP Object: stdClass Object ( [departments] => Array ( [0] => stdClass Object ( [id] => 301 [name] => Computer Science ) [1] => stdClass Object ( [id] => 302 [name] => Mechanical Engineering ) ) ) 此 PHP 代码演示了 JSON 编码(将 JSON 转换为 PHP 对象)和 JSON 解码(将 PHP 对象转换为 JSON)。我们首先定义 Department 和 University 的课程。然后,我们定义了两个 Department 类对象,并为它们分配了不同的 id 和 name 属性。University 类对象被分配了这些部门对象的数组。然后使用 json_encode($university) 将 University 对象和部门列表编码为 JSON 字符串。 控制台会收到此 JSON 字符串。最后,我们通过调用 json_decode($jsonData) 将我们得到的 JSON 字符串解码回 PHP 对象,这有效地使我们回到了原始结构。最后,我们通过调用 print_r() 来打印此 PHP 对象,展示了 JSON 数据如何在结构化的 PHP 对象和通用的文本格式之间轻松地相互转换。 下一个话题PHP OOP(面向对象编程) |
我们请求您订阅我们的新闻通讯以获取最新更新。