如何使用PHP从JSON提取数组字符串并形成表格?

时间:2018-07-20 10:00:02

标签: php html json

我有一个类似JSON的

{
   "id": 30,
   "output": {
      "status": "ok",
      "data": {
        "text/plain": "Array({\"a\":\"orange\",\"b\":\"fruit\"},{\"a\":\"apple\",\"b\":\"fruit\"}, {\"a\":\"pineapple\",\"b\":\"fruit\"})\n"
       }
    }
}

“ text / plain”的值是我的实际结果,我想以HTML的表格格式来解析,例如:

|---------|---------|
|   a     |    b    |
|---------|---------|
|orange   |  fruit  |
|apple    |  fruit  |
|pineapple|  fruit  |
|---------|---------|

但是我无法以正确的方式提取它。

需要帮助。预先感谢!

1 个答案:

答案 0 :(得分:0)

这是一种变通方法代码,仅适用于指定的示例。我还没有测试任何其他示例输入。

<?php
    $x = '{
          "id": 30,
          "output": {
             "status": "ok",
             "data": {
               "text/plain": "Array({\"a\":\"orange\",\"b\":\"fruit\"},{\"a\":\"apple\",\"b\":\"fruit\"}, {\"a\":\"pineapple\",\"b\":\"fruit\"})\n"
              }
           }
       }';
    $y = json_decode($x);
    $z = (array) $y->output->data;
    $p = $z['text/plain'];
    $p = str_replace('Array(', '[', $p);
    $p = str_replace(')', ']', $p);
    echo '<pre>';
    print_r($p);
    print_r(json_decode($p));
    echo '</pre>';
    ?>