2012-11-17 62 views
0

我想創建一個JSON對象文件,我不知道如何記錄所有可用的滑冰類的列表。目前,我有以下幾點:如何使用嵌套數組數組創建JSON對象多次和多次?

[ 
{"classname":"FS1","classdays":["monday", "wednesday"]}, 
{"classname":"FS2","classdays": ["tuesday", "thursday"]} 
] 

它的工作原理,唯一的問題是,每級「類名」,擁有的每一天「classdays」多classtimes。我不知道如何添加另一個數組,並將它們與特定類的特定日期相關聯,然後將其添加到當前的JSON文件中以創建該結構。

這裏是在非編程語言的類 - 爲了清晰:

Classname: FS1 
Monday classes are 12:00PM and 2:00PM 
Wednesday classes are 1:00PM and 3:00PM 
Classname: FS2 
Tuesday classes are 4:00PM and 6:00PM 
Thursday classes are 2:00PM and 8:00PM 
Classname: FS3 
Monday classes are 2:00PM and 4:00PM 
Thursday classes are 2:00PM and 8:00PM 

我打開的建議上最好的結構或重組,如果需要如何。

回答

1

首先,僅僅指出JSON不是一種「編程語言」,它是一種數據語言。不同的是JSON,就像XML不是什麼它只是描述對象。第二,我認爲你要進入的方向會讓你直接意識到JSON不是關係型的。

最後,這裏是我會怎麼做:

[ 
    { "classname":"FS1", 
     "classdays":[ 
     { "classday":"Monday", 
      "classtimes": ["12:00 PM", "2:00 PM"] 
     }, 
     { "classday":"Wednesday", 
      "classtimes": ["1:00 PM", "3:00 PM"] 
     } 
     ] 
    }, 
    { "classname":"FS2", 
     "classdays":[ 
     { "classday":"Tuesday", 
      "classtimes": ["4:00 PM", "6:00 PM"] 
     }, 
     { "classday":"Thursday", 
      "classtimes": ["2:00 PM", "8:00 PM"] 
     } 
     ] 
    }, 
    ... And so on. 
] 
+0

非常感謝您將這兩個類都列爲示例。隨着所有嵌套的進行,它可能會很快變得混亂。我剛剛開始使用JSON和AJAX,並且我猜測(也許不正確),這些JSON對象通常是通過使用諸如PHP或Python或C#之類的對數據庫的調用動態創建的。那是對的嗎?任何有關實際使用情況或行業標準用法的額外信息將不勝感激。再次感謝。 –

+0

您認爲這可能是JSON AJAX Web方法的響應,這是正確的。既然C#,我假設PHP和Python,都有JSON序列化器,並且您正試圖手動編寫這個代碼,我想也許您希望將其用作各種數據庫。顯然,不要忽視我對JSON不是關係型的事實的警告。 :) –

1

請在classdays每個條目的對象,用了一天的名稱和時間作爲鍵:

[ 
    { 
     "classname": "FS1", 
     "classdays": [ 
      { 
       "day": "monday", 
       "times": [ 
        "12:00", 
        "14:00" 
       ] 
      }, 
      { 
       "day": "tuesday", 
       "times": [ 
        "16:00", 
        "18:00" 
       ] 
      }, 
      ...more days here... 
     ] 
    }, 
    ...more classses here... 
] 

可以使classdays的對象,而不是一個數組,一天名稱鍵:

[ 
    { 
     "classname": "FS1", 
     "classdays": { 
      "monday": [ 
       "12:00", 
       "14:00" 
      ], 
      "tuesday": [ 
       "16:00", 
       "18:00" 
      ], 
      ...more days here... 
     } 
    }, 
    ...more classes here... 
] 

...但是那時候沒有秩序。當然,我希望你的代碼的邏輯可以知道一週中的哪些日子進來,但我想我可能會使用第一個結構。

+0

謝謝。這很有幫助。這些需要很多嵌套,但我想這就是你需要做的。 –

+0

@ M_66:不用擔心。是的,它看起來比它更糟,因爲我正在格式化以獲得最大清晰度。 :-) –

0
 
{"classname":"FS1","classdays":[{"day":"monday","times":["12:00PM","2:00PM"]},{"day":"wednesday","times":["1:00PM","3:00PM"]}]}