如何将MySQL查询返回的JSON结果拆分为多个数组,对应PHP代码如何实现
PHP解析MySQL存储的JSON数组字段方案
你从MySQL中读取的字段为标准JSON数组格式,直接使用PHP内置的json_decode函数即可解析为包含两条独立记录的数组,示例代码如下:
<?php // 1. 此处替换为你从MySQL查询得到的对应字段值 $mysqlFieldValue = '[ { "title":"SOC1 Certificate", "comment":"", "size":"286.845703125", "name":"SOC1%20Cert.pdf", "filename":"fu_iik2rfypa3tzrxh", "ext":"pdf" }, { "title":"SOC 2 cert", "comment":"", "size":"286.845703125", "name":"SOC2%20Cert.pdf", "filename":"fu_97krdbic5nrdziy", "ext":"pdf" } ]'; // 2. 解析JSON,第二个参数传true表示返回关联数组,不传则返回对象数组 $parsedData = json_decode($mysqlFieldValue, true); // 3. 解析错误校验 if (json_last_error() !== JSON_ERROR_NONE) { throw new Exception('JSON解析错误:' . json_last_error_msg()); } // 解析完成后直接通过下标获取两条独立记录 $firstRecord = $parsedData[0]; $secondRecord = $parsedData[1]; // 测试打印验证结果 print_r($firstRecord); print_r($secondRecord); ?>
注意事项
- 若需处理字段内的URL编码内容(比如
name字段中的%20代表空格),可调用urldecode()函数处理对应字段值,示例:$firstRecord['name'] = urldecode($firstRecord['name']) - 正式环境中必须保留JSON解析错误判断逻辑,避免字段内容为空、格式损坏等异常情况导致后续业务逻辑报错
内容的提问来源于stack exchange,提问作者Abu Sadeq
相关产品推荐
相关产品推荐

