簡體   English   中英

JSON-結構化數據

[英]JSON - Structuring the data

本質上,我正在嘗試格式化以下內容:

我有一系列用戶,這些用戶是不同社區的一部分,每個社區都有一系列任務要完成,但社區中的某些任務僅與某些用戶有關。 像這樣:

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 

所以本質上。 喬必須完成任務1,詹姆斯必須完成任務3。

我需要一個數組(可以將其編碼為json),用於存儲社區ID以及他們已完成的所有任務,但是應該易於訪問以獲取社區及其已完成的任務。

我有一個當前存在的社區列表,並且我想顯示所有已完成的任務(由特定用戶執行),具體取決於社區ID,此外,我還想從該社區中添加和刪除內容。 “任務”類別,因此需要一種輕松訪問這些成員的方法

到目前為止,我已經提出了以下建議:

$progress = array (

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

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

但是我不知道這是否是正確的數組樣式,因為我不知道當我需要添加/刪除或顯示社區剩余任務總數時會變得多么復雜

更新:

我正在使用的數組

$x = array(

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

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

);

然后產生這種JSON:

{"1":[1,2,3,4],"2":[3,5,6,10]}

這是對的地方嗎? 我將能夠添加和刪除節點,以及為此添加頂層部分嗎?

代碼示例作為對您的評論的答復

$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

echo $progress['communities'][1]['tasks'][1];

走社區集合

foreach ($progress['communities'] as $c) {
    //Browse the tasks
    foreach ($c['tasks'] as $t) {
        var_dump($t);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM