我正在玩JSON。假设我在users.json中有这些数据:
{
"users":
[
{
"id": "1",
"name": "Aegon Targaryen",
"activation_key" :"18494810491048adcf"
},
{
"id": "2",
"name": "Jamie Lanister",
"activation_key" : "756883"
},
{
"id": "3",
"name": "Brandon Stark",
"activation_key" : "12984819849r94fr2"
}
]
}
如何计算此“users”数组中的对象数量?我想输入另一个对象,如
{
"id": "4",
"name": "Arya Stark",
"activation_key" : "2471984919edr2"
}
在最后一个对象之后,但我还没有找到办法做到这一点。
答案 0 :(得分:2)
您只需使用count()
$youJson = file_get_contents('Path');
$data = json_decode($yourJson,true);
现在您只需获取用户count($data['users'])
希望这有帮助。
答案 1 :(得分:1)
$b=json_decode(file_get_contents('users.json'), true);
echo " total number of objects = ".count($b->users);
//var_dump($b); // you can see details of $b from here
// Append the new object to users array
$new_obj=new Stdclass();
$new_obj->id="4";
$new_obj->name="Arya Stark";
$new_obj->activation_key="2471984919edr2";
$b->users[]=$new_obj;
//var_dump($b); // you can see that the new object is added here
取消注释var_dump
行,以查看$b
的完整结构。
BTW Stdclass
允许您创建匿名对象
答案 2 :(得分:0)
您可以使用count
计算用户数量,并使用[] =
或array_push
$file = 'users.json';
$data = json_decode(file_get_contents($file), true);
// count users
$countOfUsers = count($data['users']);
// add an new user
$data['users'][] = [
'id' => $countOfUsers + 1,
'name' => 'some name',
'activation_key' => 'some key'
];
// write back
file_put_contents($file, json_encode($data));
答案 3 :(得分:0)
使用json_decode
像:
$data = json_decode(file_get_contents('path/to/json_file'));
然后
$users = count($data->users);
echo $users;
希望这有帮助。
答案 4 :(得分:0)
假设您已将Json文件作为$ json
读取到php1)通过
将$ json String传递给数组$json_array = json_decode($json);
2)统计用户
$user_count = count($json_array->user);
3)添加新用户
3.1创建一个新的使用对象
$new_user = array()
$new_user["id"] = "4";
$new_user["name"] = "Arya Stark";
$new_user["activation_key"] = "2471984919edr2”;
3.2推送到用户对象
$json_array->user[] = $new_user;