2017-10-11 45 views
1

所以這裏是我的。我需要的是2張專輯,至少4首歌。 專輯應包括:專輯名稱,藝術家姓名,發行年份。 歌曲信息應該包括:歌曲標題,遊戲時間我想用JSON存儲音樂專輯

歌曲應該表示爲對象陣列(ARRAY of OBJECTS)。

到目前爲止,這些都是我的代碼相冊。我認爲這是不正確的,但我不知道如何解決它。當我通過JSON檢查運行它,它給了我錯誤

album1 = { 
"title" : "The Avairy」, 
"artist" : "Galantis」, 
"year_released" : 2017, 
「songs」:[{ 
    "song1」 : "Hey Alligator」, 
    "songtime1」 : 197, 
    「song2」 : 「True Feeling」, 
    「songtime2」: 214, 
    「song3」 : 「Written in the scars」 
    「songtime3」 : 194, 
    「song4」 : 「No Money」 
    「songtime4」 : 185; 
    }] 
} 

album2 = { 
    "title" : 「Kolony」, 
    "artist" : 「Steve Aoki」, 
    "year_released" : 2017, 
    「songs」:[ 
     "song1」 : 「Lit」, 
     "songtime1」 : 150, 
     「song2」 : 「Without you」, 
     「songtime2」: 207, 
     「song3」 : 「Been Ballin」 
     「songtime3」 : 180, 
     「song4」 : 「How Else」 
     「songtime4」 : 152; 
    ] 
} 
+0

什麼是錯誤?我看到您使用了錯誤的報價類型。 –

+0

錯誤:解析在線路錯誤1: album1 = {\t「標題」: 這是我下車蝙蝠 –

+1

如上所述,不正確引用該錯誤,並且你的歌屬性是包含在一個單一的對象的陣列第一張專輯,並在第二個語法錯誤 – Steve

回答

1

你必須與你的JSON格式的各種問題:

  • 不應該有分號

  • 有中的對象缺少逗號

  • 你有一些奇怪的雙引號(未常規"

你可以使用例如https://jsonlint.com/來驗證你的json。

{ 
 
\t "title": "The Avairy", 
 
\t "artist": "Galantis", 
 
\t "year_released": 2017, 
 
\t "songs": [{ 
 
\t \t "song1": "Hey Alligator", 
 
\t \t "songtime1": 197, 
 
\t \t "song2": "True Feeling", 
 
\t \t "songtime2": 214, 
 
\t \t "song3": "Written in the scars", 
 
\t \t "songtime3": 194, 
 
\t \t "song4": "No Money", 
 
\t \t "songtime4": 185 
 
\t }] 
 
} 
 

 
{ 
 
\t "title": "Kolony", 
 
\t "artist": "Steve Aoki", 
 
\t "year_released": 2017, 
 
\t "songs": [{ 
 
\t \t "song1": "Lit", 
 
\t \t "songtime1": 150, 
 
\t \t "song2": "Without you", 
 
\t \t "songtime2": 207, 
 
\t \t "song3": "Been Ballin", 
 
\t \t "songtime3": 180, 
 
\t \t "song4": "How Else", 
 
\t \t "songtime4": 152 
 
\t }] 
 
}

BTW我找到建模專輯數據的這種方式很奇怪。爲什麼不能是這樣的:

[{ 
 
\t "title": "The Avairy", 
 
\t "artist": "Galantis", 
 
\t "year_released": 2017, 
 
\t "songs": [{ 
 
\t \t \t "title": "Hey Alligator", 
 
\t \t \t "length": 197 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "True Feeling", 
 
\t \t \t "length": 214 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "Written in the scars", 
 
\t \t \t "length": 194 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "No Money", 
 
\t \t \t "length": 185 
 
\t \t } 
 
\t ] 
 
}, { 
 
\t "title": "Kolony", 
 
\t "artist": "Steve Aoki", 
 
\t "year_released": 2017, 
 
\t "songs": [{ 
 
\t \t \t "title": "Lit", 
 
\t \t \t "length": 150 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "Without you", 
 
\t \t \t "length": 207 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "Been Ballin", 
 
\t \t \t "length": 180 
 
\t \t }, 
 
\t \t { 
 
\t \t \t "title": "How Else", 
 
\t \t \t "length": 152 
 
\t \t } 
 
\t ] 
 
}]

+1

好吧,我們都從某個地方開始。用這種方式來看待它比我擁有的方式更有意義。 –

0

您應該使用「的而不是‘或無處不在JSON,除非它是內部串那樣

json = { 
    "title": "Title is 「Without you」", 
    "artist": "「Steve Aoki」" 
}; 

在專輯2中,你有「歌曲」聲明爲數組,但你使用它像一個對象。你也有分號內json這是錯誤的,失去分號後變量聲明和失蹤昏迷。正確的代碼應該看起來像那樣(我' m g艾爾文只有album1,做album2自己學習的東西):

album1 = { 
"title" : "The Avairy", 
"artist" : "Galantis", 
"year_released" : 2017, 
"songs":[{ 
    "song1" : "Hey Alligator", 
    "songtime1" : 197, 
    "song2" : "True Feeling", 
    "songtime2": 214, 
    "song3" : "Written in the scars", 
    "songtime3" : 194, 
    "song4" : "No Money", 
    "songtime4" : 185 
    }] 
}; 

如果你想成爲你一定要非常小心一種高精度程序員。即使有這麼多的語法錯誤,你也不會編寫簡單的函數。

+0

在這種情況下,專輯名稱是kolony。它應該看起來像這樣嗎? json = { 「title」:「Title is」Kolony「」, 「artist」:「」Steve Aoki「」, 「year」:2017 }; –

+0

這只是一個例子。不要把所有東西都明確地表示出來:) – ElChupacabra

0

對象的數組建議多單。你想要這個結構,而不是:

{ 
    "title" : "Kolony", 
    "artist" : "Steve Aoki", 
    "year_released" : 2017, 
    "songs":[ 
    { 
     "song" : "Lit", 
     "songtime" : 150 
    }, 
    { 
     "song" : "Without you", 
     "songtime" : 270 
    }, 
    { 
     "song" : "Been Ballin", 
     "songtime" : 180 
    }, 
    { 
     "song" : "How Else", 
     "songtime" : 152 
    } 
    ] 
} 

我也注意到不應該在那裏和分歧引號的分號。並且您需要始終使用「and not」或「。

相關問題