如何转换JSON字符串数组

问题描述 投票:1回答:2

用PHP,我需要JSON数组转换成阵列,我该怎么办,json_encode没有为我提前的工作有所帮助,谢谢。

// JSON序列

[
  {
   "name":"Menu",
   "sub":
   [
     {
      "name":"Menu 2",
      "url":"menu-2.php"
     }
   ]
  }
]

这样我应该做的

array(
    'name'  => 'Menu',
    'sub'   => array(
        array(
            'name'  => 'Menu 2',
            'url'   => 'menu-2.php'
        )
    )
)

我创建这个功能JSON数组我必须做出改变吗?我不是在阵列真的很好。

<?php
    $connect = new PDO("mysql:host=localhost; dbname=propanel_001", "root", "");
    $parent_category_id = "";
    $query = "SELECT * FROM tb_sayfalar";
    $statement = $connect->prepare($query);
    $statement->execute();
    $result = $statement->fetchAll();
    foreach($result as $row)
    {
        $data = get_node_data($parent_category_id, $connect);
    }
    echo json_encode(array_values($data));
    function get_node_data($parent_category_id, $connect)
    {
        $query = "SELECT * FROM tb_sayfalar WHERE parent_id = '".$parent_category_id."'";
        $statement = $connect->prepare($query);
        $statement->execute();
        $result = $statement->fetchAll();
        $output = array();
        foreach($result as $row)
        {
            $sub_array = array();
            if (array_values(get_node_data($row['id'], $connect))) {
                $sub_array['name'] = $row['page_name']; 
                $sub_array['sub'] = array_values(get_node_data($row['id'], $connect));
            }else{
                $sub_array['name'] = $row['page_name']; 
                $sub_array['url'] = $row['page_url'].".php";
            }
            $output[] = $sub_array;
        }
        return $output;
    }
?>
php mysql arrays json database
2个回答
2
投票

这是你需要什么,json_decode($json,true);

<?php
$json = '[{"name":"Menu","sub":[{"name":"Menu 2","url":"menu-2.php"}]}]';
$array = json_decode($json,1);
print_r($array[0]);
?>

但是:四联zxsw POI

或用它与https://3v4l.org/JZQCn变量的可解析字符串表示

var_export()

但是:四联zxsw POI


0
投票

您必须使用<?php $json = '[{"name":"Menu","sub":[{"name":"Menu 2","url":"menu-2.php"}]}]'; $array = var_export(json_decode($json,1)[0]); print($array); ?> 转换https://3v4l.org/rLA9R代表对象关联数组。

示例代码

json_decode

欲了解更多信息,看看JSON

© www.soinside.com 2019 - 2024. All rights reserved.