首先使用json_decode将JSON字符串转为PHP数组,如php -r “$json='{“name”:”Tom”}’;$data=json_decode($json,true);print_r($data);”;其次可通过file_get_contents读取JSON文件并解析,配合json_last_error检查错误;最后用json_encode将数组转为JSON字符串,加JSON_PRETTY_PRINT可格式化输出,便于调试或保存。

在PHP命令行环境下处理JSON数据是开发中常见的需求,比如读取配置文件、处理API返回结果或调试数据。PHP提供了内置函数轻松实现JSON与数组之间的转换。
使用json_encode和json_decode解析JSON
PHP通过json_decode()将JSON字符串转为PHP变量(通常是数组或对象),通过json_encode()将PHP变量转为JSON字符串。
在命令行中运行PHP代码示例:
php -r "$json = '{"name": "Tom", "age": 25, "city": "Beijing"}';$data = json_decode($json, true);print_r($data);"
输出结果为:
立即学习“PHP免费学习笔记(深入)”;
Array( [name] => Tom [age] => 25 [city] => Beijing)
注意:第二个参数true表示将JSON对象转为关联数组,如果不加,默认返回对象。
从文件读取JSON并转换为数组
实际应用中,JSON数据通常保存在文件中。可通过file_get_contents读取后解析:
php -r "$json = file_get_contents('data.json');$data = json_decode($json, true);if (json_last_error() === JSON_ERROR_NONE) { print_r($data);} else { echo 'JSON解析错误: ' . json_last_error_msg();}"
确保data.json文件存在且格式正确。使用json_last_error()和json_last_error_msg()可检测解析是否出错。
将数组转换为JSON输出
将PHP数组转为JSON字符串,常用于生成接口响应或保存数据:
php -r "$data = array('name' => 'Alice', 'age' => 30, 'hobbies' => array('reading', 'swimming'));$json = json_encode($data, JSON_PRETTY_PRINT);echo $json;"
输出:
{ “name”: “Alice”, “age”: 30, “hobbies”: [ “reading”, “swimming” ]}
JSON_PRETTY_PRINT让输出更易读,适合调试或写入文件。
基本上就这些。掌握json_decode和json_encode在命令行的用法,能快速处理结构化数据,提高脚本效率。注意检查JSON格式和编码问题,避免解析失败。
以上就是PHP命令怎么解析JSON数据_PHP命令行解析JSON与数组转换的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1330802.html
微信扫一扫
支付宝扫一扫