Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自定义键进行php json_编码_Php_Json - Fatal编程技术网

使用自定义键进行php json_编码

使用自定义键进行php json_编码,php,json,Php,Json,我使用PHP创建JSON字符串来表示目录结构,然后将其呈现为树视图,我使用的树视图控件需要为每个目录/文件名添加一个“text”键,为每个子目录/文件添加一个“nodes”键,因此,我使用下面的代码创建了一个带有子数组的数组,然后我使用json_编码将数组转换为json格式,那么json_编码可以将输出格式化为具有所需键“text/nodes”吗 这是我使用的代码 echo json_encode(ReadFolderDirectory('some directory')); function

我使用PHP创建JSON字符串来表示目录结构,然后将其呈现为树视图,我使用的树视图控件需要为每个目录/文件名添加一个“text”键,为每个子目录/文件添加一个“nodes”键,因此,我使用下面的代码创建了一个带有子数组的数组,然后我使用json_编码将数组转换为json格式,那么json_编码可以将输出格式化为具有所需键“text/nodes”吗

这是我使用的代码

echo json_encode(ReadFolderDirectory('some directory'));
function ReadFolderDirectory($dir,$listDir= array())
{
$listDir = array();
if($handler = opendir($dir))
{
    while (($sub = readdir($handler)) !== FALSE)
    {
        if ($sub != "." && $sub != ".." && $sub != "Thumb.db")
        {
            if(is_file($dir."/".$sub))
            {
                $listDir[] = $sub;
            }elseif(is_dir($dir."/".$sub))
            {
                $listDir[$sub] = ReadFolderDirectory($dir."/".$sub); 
            } 
        } 
    }    
    closedir($handler); 
} 
return $listDir;    
}

我使用的控件在这里,JSON数据应该与它们的数据结构部分类似:

你在问什么?是否可以包含具有特定值的特定键?是吗<代码>数组('foo'=>'bar')?
echo json_encode(ReadFolderDirectory('some directory'));
function ReadFolderDirectory($dir,$listDir= array())
{
$listDir = array();
if($handler = opendir($dir))
{
    while (($sub = readdir($handler)) !== FALSE)
    {
        if ($sub != "." && $sub != ".." && $sub != "Thumb.db")
        {
            $obj = new stdClass();
            $obj->text = $sub;
            if(is_dir($dir."/".$sub))
            {
                $obj->nodes = ReadFolderDirectory($dir."/".$sub);
            } 
            $listDir[] = $obj;
        } 
    }    
    closedir($handler); 
} 
return $listDir;    
}