无需登录 数据私有 本地保存

PHP数组转JSON - 粘贴print_r输出变JSON

11
0
0
0

PHP print_r 转 JSON

粘贴 PHP print_r() 输出内容,一键转换为标准 JSON 格式。支持嵌套数组、stdClass 对象,自动识别数字键与关联键。

输入 print_r 输出 0 字符
JSON 输出 0 字符

常见问题 & 知识点

什么是 print_r?为什么需要转换成 JSON?

print_r() 是 PHP 中用于打印变量易读信息的函数,常用于调试数组和对象。它的输出是人类可读的格式,但无法直接被前端 JavaScript、API 或其他编程语言解析。JSON 是目前最通用的数据交换格式,将 print_r 输出转为 JSON 后,可以方便地在不同系统间传递数据、导入数据库或进行进一步处理。

print_r 和 var_dump 有什么区别?

print_r() 输出简洁易读,适合快速查看数组结构,但不显示数据类型和长度,布尔值 true 显示为 1、false/null 显示为空。var_dump() 则显示完整的数据类型、长度和值,信息更详细但输出更冗长。本工具专为 print_r() 格式设计,如需转换 var_dump 输出,建议先将变量通过 json_encode() 直接输出 JSON。

转换时如何处理 true / false / null?

这是 print_r()固有限制:true 显示为 1,false 和 null 都显示为空字符串,无法区分。本工具会将空值保留为空字符串 "",数字 1 保留为数字。如果需要精确的布尔值和 null,建议在 PHP 中直接使用 echo json_encode($array, JSON_PRETTY_PRINT); 来获取准确的 JSON。

PHP 中如何直接获取 JSON 而不是 print_r?

最简单的方式是使用 json_encode()

$json = json_encode($array, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);

其中 JSON_PRETTY_PRINT 使输出格式化易读,JSON_UNESCAPED_UNICODE 保留中文字符不转义。这是获取 PHP 数据为 JSON 的最佳实践

支持哪些 PHP 数据类型的转换?

本工具支持 print_r() 输出的索引数组、关联数组、多维嵌套数组、stdClass 对象以及其他类对象。数字键(连续从0开始的整数)会被智能转换为 JSON 数组 [...],字符串键或非连续整数键转换为 JSON 对象 {...}。遇到 *RECURSION*(递归引用)时会转为 null

输出 JSON 后如何验证格式是否正确?

您可以将输出的 JSON 复制到 JSONLint 或任何在线 JSON 验证工具中检查。本工具生成的 JSON 符合 RFC 8259 标准,可直接被 JSON.parse()(JavaScript)、json_decode()(PHP)、json.loads()(Python)等标准解析器正确读取。