如何将 JSON 字符串转换为 PHP 对象或数组创建 *代码*
How to convert JSON string to PHP object or array creation *code*
首先:这是一个完全不同的问题 - How to convert JSON string to array
我的问题...
我有一个有效的 JSON 字符串分配给 php 变量,$json
。
我知道我可以 运行 将其转换为 json_decode($json, true);
以在 运行 时解析为 php 数组,但是我想更进一步并转换这是一个可重用的 php 数组代码字符串,可以简单地复制并粘贴到 php 脚本中,例如 $array = 'php array code here'
.
免不了要问的人"why?",举个例子:
to copy an example JSON endpoint parameter from an API's docs, then quickly convert to php array string code to paste into a test script as a valid test parameter for making a POST request
我知道我可以做到:
$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 或其他类似的文本操作工具中,然后在某些地方使用 find/replace 或正则表达式 find/replace个案。但我正在寻找的是一个更快、更优雅的解决方案,我可以从字面上将 JSON 复制并粘贴到某个脚本(或任何地方!),然后 运行 它得到 this :
$phpArray = [
0 => [
'ID' => 1,
'Name' => 'Test One',
],
1 => [
'ID' => 2,
'Name' => 'Test Two',
],
];
有人已经在某个地方创建了一个很好的工具来执行此操作吗?我找不到任何东西。我对 任何 优雅的解决方案持开放态度,并将愉快地支持任何对从 JSON 到 PHP 对象/数组的基本桥接方法进行改进的答案创建代码。谢谢!
<?php
$json = '
[
{
"ID": "1",
"Name": "Test One"
},
{
"ID": "2",
"Name": "Test Two"
}
]';
echo '$output = '.var_export(json_decode($json, true), true).';';
输出:
$output = array (
0 =>
array (
'ID' => '1',
'Name' => 'Test One',
),
1 =>
array (
'ID' => '2',
'Name' => 'Test Two',
),
);
首先:这是一个完全不同的问题 - How to convert JSON string to array
我的问题...
我有一个有效的 JSON 字符串分配给 php 变量,$json
。
我知道我可以 运行 将其转换为 json_decode($json, true);
以在 运行 时解析为 php 数组,但是我想更进一步并转换这是一个可重用的 php 数组代码字符串,可以简单地复制并粘贴到 php 脚本中,例如 $array = 'php array code here'
.
免不了要问的人"why?",举个例子:
to copy an example JSON endpoint parameter from an API's docs, then quickly convert to php array string code to paste into a test script as a valid test parameter for making a POST request
我知道我可以做到:
$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 或其他类似的文本操作工具中,然后在某些地方使用 find/replace 或正则表达式 find/replace个案。但我正在寻找的是一个更快、更优雅的解决方案,我可以从字面上将 JSON 复制并粘贴到某个脚本(或任何地方!),然后 运行 它得到 this :
$phpArray = [
0 => [
'ID' => 1,
'Name' => 'Test One',
],
1 => [
'ID' => 2,
'Name' => 'Test Two',
],
];
有人已经在某个地方创建了一个很好的工具来执行此操作吗?我找不到任何东西。我对 任何 优雅的解决方案持开放态度,并将愉快地支持任何对从 JSON 到 PHP 对象/数组的基本桥接方法进行改进的答案创建代码。谢谢!
<?php
$json = '
[
{
"ID": "1",
"Name": "Test One"
},
{
"ID": "2",
"Name": "Test Two"
}
]';
echo '$output = '.var_export(json_decode($json, true), true).';';
输出:
$output = array (
0 =>
array (
'ID' => '1',
'Name' => 'Test One',
),
1 =>
array (
'ID' => '2',
'Name' => 'Test Two',
),
);