如何将JSON字符串转换为PHP对象或数组创建*代码*

ajm*_*way 0 php arrays json object data-conversion

首先:这是一个完全不同的问题- 如何将JSON字符串转换为数组

我的问题...


我有分配给php变量的有效JSON字符串$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;
Run Code Online (Sandbox Code Playgroud)

让你靠近...

$phpArray = Array
(
    [0] => stdClass Object
        (
            [ID] => 1
            [Name] => Test One
        )

    [1] => stdClass Object
        (
            [ID] => 2
            [Name] => Test Two
        )

)
Run Code Online (Sandbox Code Playgroud)

但是当然还有一些工作要做...目前,我会将其复制到Sublime Text或其他类似的文本操作工具中,在某些情况下仅使用find / replace或regex find / replace。但我所寻找的是一个更快,更优雅的解决方案,由此我可以从字面上复制+粘贴到JSON一些脚本(或任何地方!),并运行它以获得

$phpArray = [
    0 => [
        'ID' => 1,
        'Name' => 'Test One',
    ],
    1 => [
        'ID' => 2,
        'Name' => 'Test Two',
    ],
];
Run Code Online (Sandbox Code Playgroud)

有人创造了一个好的工具来在某个地方做到这一点吗?我什么都找不到。我乐于接受任何优雅的解决方案,并且会乐于接受任何答案,这些答案是对这种从JSON桥接到PHP对象/数组创建代码的基本方法的改进。谢谢!

Pyt*_*ton 5

<?php

$json = '
  [
    {
      "ID": "1",
      "Name": "Test One"
    },
    {
      "ID": "2",
      "Name": "Test Two"
    }
  ]';

echo '$output = '.var_export(json_decode($json, true), true).';';
Run Code Online (Sandbox Code Playgroud)

输出:

$output = array (
    0 =>
        array (
            'ID' => '1',
            'Name' => 'Test One',
        ),
    1 =>
        array (
            'ID' => '2',
            'Name' => 'Test Two',
        ),
);
Run Code Online (Sandbox Code Playgroud)