在PHP中编码和解码 JSON 对象

这篇博客介绍了JSON的基本概念,包括它是一种轻量级的数据交换格式,与语言和平台独立,且具有自我描述性。文章详细讲解了JSON的表示法、语法,以及PHP中的JSON函数`json_encode`和`json_decode`的用法,`json_encode`用于编码变量为JSON字符串,而`json_decode`则用于将JSON字符串解码为PHP对象。此外,还提到了使用jQuery的`parseJSON`方法解析JSON字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JSON概述

  1. JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  2. JSON 是轻量级文本数据交换格式
  3. JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
  4. JSON 具有自我描述性,更易理解

JSON的表示法

  1. JSON实际上是JS对象的字符串表示法,本质上是一个字符串
var JSON = '{"age":18,"name":"Tom"}'//这是一个JSON字符串 

JSON语法

  1. JSON 语法是 JavaScript 对象表示语法的子集。

数据在 名称/值 对中
key和value要用 双引号 引起来(value如果是数字类型可以不用引号引起)
数据由 逗号 分隔
大括号 { } 保存对象
中括号 [ ] 保存数组,数组可以包含多个对象(可以嵌套)

  1. 书写语法:key:value
{"tom":20,"lucy":19,"lili":18}

JSON函数

  1. json_encode:用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。
  2. json_decode:用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。

json_encode:返回 JSON字符串
json_decode:返回 object对象

例:

<?php
$arr = [
    'tom'=>20,
    'lucy'=>19,
    'lili'=>18
];
$str = json_encode($arr);
echo $str;   // 返回 {"tom":20,"lucy":19,"lili":18}
echo '<br>';
var_dump(json_decode($str));   // 返回 object(stdClass)#1 (3) { ["tom"]=> int(20) ["lucy"]=> int(19) ["lili"]=> int(18) }

解析JSON字符串

  1. jQuery.parseJSON(json):接受一个JSON字符串,返回解析后的对象
  2. 可以通过 点方法( . )来获取这个对象中的属性的值

例:

<script>
    $(function(){
        // 设置一个json的字符串
        var text = '{"daisy":20,"jerry":21,"john":22}'
        var obj = $.parseJSON(text)
        console.log(text); //返回:{"daisy":20,"jerry":21,"john":22}
        console.log(obj);  //返回一个对象,{daisy: 20, jerry: 21, john: 22}
        var p1 = obj.daisy;
        console.log(p1); // 返回 20
    })
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白夜下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值