如何将列表添加到现有 json 文件?

如果列表不存在,我想将列表添加到 json 文件中。


但是当我尝试使用时,array()我得到的0 => 1=> 2=>不是对象列表


$list = array(

    "Version" => "1.0"

);


$users = array(

    "Users" => array(

    "Username"=> "test",

    "Level"=> "10"

    )

);


if(!isset($list['Users'])) {

    array_push($list, $users);

    echo json_encode($list);

}

exit;

结果


{"Version":"1.0","0":{"Users":{"Username":"test","Level":"10"}}}

但我的结果应该是


{"Version":"1.0","Users":[{"Username":"test","Level":"10"}]}


我是 php 新手。关于。


qq_花开花谢_0
浏览 143回答 2
2回答

侃侃尔雅

尝试这个,您不需要 array_push()。只需将数组添加$users['Users']到里面即可$list。注意:我已将array()符号更改为[]符号。$list =[    "Version" => "1.0"];$users = [    'Users' => [        'Username' => 'test',        'Level' => '10'    ]];    if(!isset($list['Users'])) {    $list['Users'][] = $users['Users'];    echo json_encode($list);}exit;输出:{"Version":"1.0","Users":[{"Username":"test","Level":"10"}]}

弑天下

如果新键users不存在,您可以添加它,然后向其中添加元素,如下所示:$list = array(    "Version" => "1.0");$users = array(    "Users" => array(    "Username"=> "test",    "Level"=> "10"    ));if(!isset($list['Users'])) $list['users']=[];foreach( $users as $a ){    $list['users'][]=$a;}echo json_encode( $list );输出:{"Version":"1.0","users":[{"Username":"test","Level":"10"}]}
打开App,查看更多内容
随时随地看视频慕课网APP