You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将指定JSON结构转换为PHP语法并支持双向转换?

JSON与PHP数组/对象的互转方法

1. 将JSON转换为PHP结构

PHP内置的json_decode()函数可直接处理JSON字符串,根据需求可转换为关联数组或stdClass对象:

示例JSON(包含对象和数组)

{
  "category": "工具",
  "items": [
    {"id": 1, "name": "锤子", "price": 29.9},
    {"id": 2, "name": "螺丝刀", "price": 15.5}
  ]
}

转换为关联数组

第二个参数传true,JSON对象会转为PHP关联数组,数组保持索引结构:

$jsonString = '{
  "category": "工具",
  "items": [
    {"id": 1, "name": "锤子", "price": 29.9},
    {"id": 2, "name": "螺丝刀", "price": 15.5}
  ]
}';

$phpArray = json_decode($jsonString, true);

// 访问数据示例
echo $phpArray['category']; // 输出:工具
echo $phpArray['items'][0]['name']; // 输出:锤子

转换为stdClass对象

不传第二个参数(或传false),JSON对象会转为PHP的stdClass实例,数组仍为索引数组:

$phpObject = json_decode($jsonString);

// 访问数据示例
echo $phpObject->category; // 输出:工具
echo $phpObject->items[1]->price; // 输出:15.5

2. 将PHP结构转回JSON

使用json_encode()函数可把PHP数组或对象转回标准JSON字符串,常用参数优化输出:

// 从关联数组转回JSON
$jsonFromArray = json_encode($phpArray);
echo $jsonFromArray;

// 从对象转回JSON
$jsonFromObject = json_encode($phpObject);
echo $jsonFromObject;

// 格式化输出+保留中文(避免转义)
echo json_encode($phpArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

注意事项

  • 若JSON解析失败,json_decode()会返回null,可通过json_last_error()排查错误原因。
  • 当PHP结构包含中文或特殊字符时,建议添加JSON_UNESCAPED_UNICODE参数避免转义。

内容的提问来源于stack exchange,提问作者Jurgen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 07:10:55