我想在PHP中使用tow查询创建JSON对象,然后使用ajax检索此对象。第一个将返回所有用户的位置。第二个嵌套查询将返回与特定用户关联的所有任务。结构必须是这样的:
{
[
user1 : { "name" : "name1"
"task" : [ { "taskname":"taskname1.1" , "date":"1-1" } ,
{ "taskname":"taskname1.2" , "date":"1-1" }
}
} ,
user2: { "name" : "name2"
"task" : [ { "taskname":"taskname2.1" , "date":"2-2" } ,
{ "taskname":"taskname2.2" , "date":"2-2" }
]
}
...
]
}
我的问题是:
当我尝试解析每个用户的任务时,我发现:
每个用户的任务都与之前用户的任务合并。
那么使用php创建具有相同结构的JSON对象的最佳方法是什么?
---更新---
感谢所有回答我的人。但是我需要知道如何动态创建它,我知道如何在静态中执行此操作并且我之前正确使用json_encode(),这不是我的问题。我非常感谢你的回答,但这不是我需要的,我认为问题出在我的问题中。
答案 0 :(得分:1)
$array=array(
'user1'=>array(
'tasks'=>array(
'task1'=>'whatever',
'task2'=>'whatever',
'task3'=>'whatever'
),
'date'=>'whatever'
),
'user2'=>array(
'tasks'=>array(
'task1'=>'whatever',
'task2'=>'whatever',
'task3'=>'whatever'
),
'date'=>'whatever'
),
'user3'=>array(
'tasks'=>array(
'task1'=>'whatever',
'task2'=>'whatever',
'task3'=>'whatever'
),
'date'=>'whatever'
)
);
然后使用JSON编码发送JSON字符串。
echo json_encode($array);
答案 1 :(得分:0)
我同意powerbuoy在php中创建一个带键值对的数组:
$obj = array(
"User 1" => array(
"name" => "name1",
"tasks" => array(
array("taskname" => "t1", "date" => "1-1"),
array("taskname" => "t2", "date" => "1-1")
)
),
"User 2" => array(...........)
然后运行json_encode($obj);
我觉得这样的事情对你有用