首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON -构造数据

JSON -构造数据
EN

Stack Overflow用户
提问于 2015-08-07 12:41:42
回答 1查看 70关注 0票数 0

本质上,我试图将以下内容格式化:

我有一系列的用户,它们是不同社区的一部分,每个社区都有一系列的任务要完成,但是社区内部的一些任务只与一些用户相关。就像这样:

代码语言:javascript
复制
Community 1
Members: Joe, James 

Tasks: Task 1, Task 2, Task 3

Assigned: Task 1 -> Joe, Task 3 -> James 

Community 2:
Members: James

Tasks: Talk 1, Task 14, Task 15 

Assigned: Task 1 -> Joe, Task 14 -> James 

所以本质上。Joe必须完成Task 1,James必须完成Task 3。

我需要一个数组(可以编码到json)来存储社区ID以及他们已经完成的所有任务,但是应该可以很容易地访问它来获取社区和他们已经完成的任务。

我有一个当前存在的社区列表,我想根据社区id显示所有已完成的任务(由特定用户完成),同时,我还想从“任务”类别中添加和删除一些内容,因此需要一种方法来轻松地访问这些成员

到目前为止,我提出了以下几点:

代码语言:javascript
复制
$progress = array (

    "communities" => array(
        "id" => 1, 
        "tasks" => array(
            1 => "completed",
            2 => "completed"
        ),

        "id" => 2,
        "tasks" => array(
            150 => "completed",
            140 => "completed"
        )
    ),
);

但是我不知道这是否是正确的数组样式,因为我不知道当我需要添加/删除或显示一个社区剩下的任务总数时,它会有多复杂

更新:

我现在正在处理的这个数组:

代码语言:javascript
复制
$x = array(

1 => array(
    1, 
    2, 
    3, 
    4,
),

2 => array(
    3,
    5, 
    6,
    10
)

);

然后生成这种JSON:

代码语言:javascript
复制
{"1":[1,2,3,4],"2":[3,5,6,10]}

这个地方对吗?我是否能够添加和删除节点,以及添加顶层部分?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-07 14:33:56

代码示例作为对您的评论的答复

代码语言:javascript
复制
$progress = array (
    "communities" => array(
        1 => array(
            "tasks" => array(
                1 => array("status" => "completed", "assigned_users" => array("James", "Joe")), 
                2 => array("status" => "pending", "assigned_users" => array("James"))
            ),
        ),
        2 => array(
            //Content of task2 
    )
    )
);

使用这样的扩展模型,您将能够:

  • 将任务分配给一个或多个用户
  • 将用户从特定任务中删除
  • 知道哪些用户繁忙或可用
  • 清点任务和分配资源(用户)

获得第一个社区的任务1

代码语言:javascript
复制
echo $progress['communities'][1]['tasks'][1];

步行社区收集

代码语言:javascript
复制
foreach ($progress['communities'] as $c) {
    //Browse the tasks
    foreach ($c['tasks'] as $t) {
        var_dump($t);
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31877980

复制
相关文章

相似问题

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