【发布时间】:2018-05-23 12:42:55
【问题描述】:
首先:这是一个完全不同的问题 - How to convert JSON string to array
我的问题...
我有一个有效的 JSON 字符串分配给 php 变量 $json。
我知道我可以将它运行到json_decode($json, true); 以在运行时解析为 php 数组,但是我想更进一步,将其转换为可重用的 php 数组代码字符串,可以简单地复制并粘贴到一个 php 脚本,例如 $array = 'php array code here'。
对于那些不可避免地会问“为什么?”的人,举个例子:
从 API 的文档中复制一个示例 JSON 端点参数,然后快速转换为 php 数组字符串代码以粘贴到测试脚本中作为发出 POST 请求的有效测试参数
我知道我可以做到:
$json = '
[
{
"ID": "1",
"Name": "Test One"
},
{
"ID": "2",
"Name": "Test Two"
}
]';
echo '<pre>';
echo '$phpArray = ' . print_r(json_decode($json));
echo '</pre>';
exit;
这让你接近...
$phpArray = Array
(
[0] => stdClass Object
(
[ID] => 1
[Name] => Test One
)
[1] => stdClass Object
(
[ID] => 2
[Name] => Test Two
)
)
但当然还有一些工作要做......目前我会将其复制到 Sublime Text 或其他类似的文本操作工具中,并且在某些情况下只使用查找/替换或正则表达式查找/替换。但我正在寻找的是一种更快、更优雅的解决方案,我可以将 JSON 复制并粘贴到某个脚本(或任何地方!)中,然后运行它以获取 this:
$phpArray = [
0 => [
'ID' => 1,
'Name' => 'Test One',
],
1 => [
'ID' => 2,
'Name' => 'Test Two',
],
];
是否有人已经在某个地方创建了一个很好的工具来执行此操作?我什么也找不到。我对 ANY 优雅的解决方案持开放态度,并且很乐意支持任何对这种从 JSON 桥接到 PHP 对象/数组创建代码的基本方法有所改进的答案。谢谢!
【问题讨论】:
-
1.
print_r(json_decode($json), true);不会给你stdClass Object数组。 2. 使用var_export();做你想要的 -
使用 var_export!
标签: php arrays json object data-conversion