首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php嵌套查询创建JSON对象

使用php嵌套查询创建JSON对象
EN

Stack Overflow用户
提问于 2012-06-24 03:25:03
回答 2查看 422关注 0票数 1

我想在PHP中使用tow query创建JSON对象,然后使用ajax检索该对象。其中第一个将返回所有用户。第二个嵌套查询将返回与特定用户关联的所有任务。结构必须是这样的:

代码语言:javascript
复制
{
[
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(),这不是我的问题。我真的很感谢你的回答,但这不是我需要的,我认为问题出在我的问题上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-24 03:33:39

代码语言:javascript
复制
$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 encode发送JSON字符串。

代码语言:javascript
复制
echo json_encode($array);
票数 1
EN

Stack Overflow用户

发布于 2012-06-24 03:35:27

我同意powerbuoy在php中创建一个键值对的数组:

代码语言:javascript
复制
$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);

我认为这样的东西对你来说应该是有效的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11172324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档