从MySQL / PHP获取嵌套/分层JSON

时间:2010-04-15 09:18:36

标签: php jquery mysql json hierarchical-data

我正在使用spacetree chart,我需要采用分层格式的JSON。请参阅示例所需的JSON格式here。我在Mysql数据库表中有ID,ParentID,Name,Description字段。现在如何使用PHP在Hierarchical / nested JSON中转换数据? 我知道json_encode($ array)。但是,我需要嵌套/分层php数组。 让我知道这样做。

2 个答案:

答案 0 :(得分:1)

你基本上在这里问两个问题 - 1)如何从db表中获取分层php结构和2)如何在json中编码这个结构。对于第一个问题,请参阅,例如,我的(旧但工作)code。对于第二个,我相信简单的json_encode可以很好地工作。

答案 1 :(得分:0)

如果您的服务器上安装了PHP json扩展,请在阵列上使用它。步骤将是:

  1. 使用基于mysql resutls的层次结构构建PHP数组
  2. 调用json_encode($ array)http://pl.php.net/manual/en/function.json-encode.php
  3. 如果您的服务器上没有启用json_encode而无法安装它......您只需手动编写即可。

    它会像(未经测试的代码警告)

    function my_json_encode($array)
    {
      $return = '{';
      $count = count($array);
      $i = 0;
      foreach ($array as $key => $val)
      {
        $return .= '"'.$key.'" : ';
        if (!is_array($val))
          $return .= '"'.$val.'"';
        else
          $return .= my_json_encode($val);
        if ($i < $count-1)
          $return .=",";
        $i++;
      }
      $return .= '}';
      return $return;
    }
    
相关问题