php定义二维数组-PHP操作JSON格式数据的方法

2023-09-02 0 2,082 百度已收录

1 简介

1.1 简介

JSON格式数据是当今WEB应用中广泛使用的一种数据格式。 它具有结构清晰、语法简单、字节占用量小等特点。 与早期流行的XML格式数据相比,JSON格式数据具有更便携、可读性更好、解析速度更快等优点。

PHP语言在操作JSON格式数据方面具有先天的优势。 由于PHP是弱类型语言,而PHP自带的字段和JSON格式数据的数据结构基本相同,因此PHP对JSON格式数据的操作特别简单、方便、快捷。

2.JSON

JSON格式数据除了整数、浮点、字符串、布尔等基本数据类型外,还有两种特殊的集合类型,分别是链表(Array)和字典(Dictionary)。 下面付哥就分别给大家介绍一下。 一度。

2.1 字典

所谓字典类型是指结构中的数据以Key-Value的形式成对存储。 通过Key可以快速获取对应的Value。 字典结构中的Key不能重复。

{
  "id": 35,
  "name": "鬼谷子叔叔",
  "url": "https://tongfu.net/home/35.html"
}

php定义二维数组-PHP操作JSON格式数据的方法

2.2 领域

链表用于存储多组数据。 链表中的元素之间没有关系。 链表中的元素使用连续的整数作为键。 通过按键可以快速获取对应的元素。

[
  "PHP",
  "Python",
  "Java",
  "JavaScript",
  "C/C++",
  "Asp.net"
]

3.链表和JSON

在PHP语言中,链表到JSON格式数据的转换是通过json_encode函数完成的。 PHP 字段到 JSON 格式数据的转换将基于形参中元素的键是否满足连续整数的条件。 如果是这样,它们将被转换为 JSON 字段。 ,如果不满足php定义二维数组,就会转成JSON字典。

3.1 直接转换

如果直接通过json_encode转换的话,汉字部分会转换成unicode编码

php定义二维数组-PHP操作JSON格式数据的方法

$jsonData = json_encode(array(
    "id"=>35,
    "name"=>"鬼谷子叔叔",
    "url"=>"https://tongfu.net/home/35.html"
));
echo $jsonData. "
"; $jsonData = json_encode(array(     "PHP",     "Python",     "Java",     "JavaScript",     "C/C++",     "Asp.net" )); echo $jsonData. "
";

3.2 汉字转换与显示

如果想保留汉字内容而不将其转换为unicode编码,则需要使用以下方法进行转换。

$jsonData = json_encode(array(
    "id"=>35,
    "name"=>"鬼谷子叔叔",
    "url"=>"https://tongfu.net/home/35.html"
), JSON_UNESCAPED_UNICODE);
echo $jsonData. "
"; $jsonData = json_encode(array(     "PHP",     "Python",     "Java",     "JavaScript",     "C/C++",     "Asp.net" ), JSON_UNESCAPED_UNICODE); echo $jsonData. "
";

4. 对象和 JSON

php定义二维数组-PHP操作JSON格式数据的方法

在PHP语言中,对象转换为JSON格式数据也是通过json_encode函数完成的。 PHP对象转换为JSON格式数据时,肯定会转换为字典类型。

4.1 直接转换

如果直接通过json_encode转换的话,汉字部分会转换成unicode编码。

class user{
    public $id;
    public $name;
    public $url;
}
class APIController extends SystemAPIController{
    protected function user_process(){
        $user = new user();
        $user->id = 35;
        $user->name = "鬼谷子叔叔";
        $user->url = "https://tongfu.net/home/35.html";
        $jsonData = json_encode($user);
        var_dump($jsonData);
    }
}

4.2 汉字转换与显示

如果想保留汉字内容而不将其转换为unicode编码php定义二维数组,则需要使用以下方法进行转换。

class user{
    public $id;
    public $name;
    public $url;
}
class APIController extends SystemAPIController{
    protected function user_process(){
        $user = new user();
        $user->id = 35;
        $user->name = "鬼谷子叔叔";
        $user->url = "https://tongfu.net/home/35.html";
        $jsonData = json_encode($user, JSON_UNESCAPED_UNICODE);
        var_dump($jsonData);
    }
}

5. 编码和解码

5.1 编码

所谓JSON编码就是将其他类型的数据转换为JSON格式数据的过程。 由于JSON格式是一种富含特殊格式的字符串,因此JSON编码是将各种其他类型的数据转换为可逆字符串的过程。 。

PHP 实现编码的方式是通过内置的 json_encode 方法。 不幸的是,该方法仅支持富含英文的源数据的UTF-8编码。 如果源数据包含英文且不是UTF-8编码,仍然会返回false,如果编码失败。

$jsonData = json_encode(array(
    "id"=>35,
    "name"=>"鬼谷子叔叔",
    "url"=>"https://tongfu.net/home/35.html"
), JSON_UNESCAPED_UNICODE);
echo "

JSON格式

"; var_dump($jsonData);

5.2 解码

所谓JSON解码,就是将JSON格式数据恢复为原始数据类型的过程。 由于JSON格式数据看似是富含特殊格式的字符串,所以JSON解码就是将JSON格式字符串恢复为原始数据的过程。

PHP 实现解码的方式是通过内置的 json_decode 方法,但默认情况下 json_decode 会将字典恢复为 stdClass 对象而不是数组字段。 如果要将stdClass转换为数组字段,则需要进行特殊处理。

$jsonData = "{"id":35,"name":"鬼谷子叔叔","url":"https://tongfu.net/home/35.html"}";
$orgData = json_decode($jsonData);
echo "

直接还原

"; var_dump($orgData); $orgData = json_decode($jsonData, true); echo "

还原stdClass转array

"; var_dump($orgData);

六、总结

明天,付哥将带着孩子们系统讲解用PHP操作JSON格式数据的方法。 相信大家应该都明白了吧! 一旦你可以操作JSON格式的数据,你就可以使用PHP来开发程序接口,也可以使用PHP来开发前后端分离的项目。

下一课,福哥将为大家讲解如何在Python中操作JSON格式数据,敬请期待~~

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php定义二维数组-PHP操作JSON格式数据的方法 https://www.wkzy.net/game/189060.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务