首先使用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读取后解析:
Find JSON Path online Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30 查看详情
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中文网其它相关文章!



