1

我想在 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(),这不是我的问题。我非常感谢您的回答,但这不是我需要的,我认为问题出在我的问题上。

4

2 回答 2

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);
于 2012-06-23T19:33:39.283 回答
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);

我认为这样的事情应该适合你

于 2012-06-23T19:35:26.517 回答