2016-10-19 70 views
-1

我有我想解析爲一個對象如何JSON.parse並忽略數組索引?

const payload = "{\"teamIds\":[584,585,586]}"; 

console.log(JSON.parse(payload)) 

這個樣本串但是結果會自動添加索引:

teamIds: 
    0: 584, 
    1: 585, 
    2: 586 

我如何在這種情況下,擺脫了指數的公正保持[584,585,586]原樣?

編輯

從PHP背景的,我覺得這個是可能的。儘管如此,謝謝你的幫助。

+1

你所看到的是console.log函數的一個特性; javascript中的所有數組都將有一個與每個數字關聯的索引。你所看到的只是它的一個可視化。 – Paul

+0

執行'JSON.parse'時,您需要將您的字符串轉換爲JSON對象。如果你希望'[584,585,586]'在結果對象中被表示爲一個字符串,你需要在它的原始字符串中包含雙引號或單引號。 –

回答

3

你不能,這就是數組的工作方式,如果你不提供任何數據,他們需要爲自動設置的值創建索引。 這就是它的工作方式,在JavaScript中,您可以分配索引,但它然後變成一個對象,而不是一個數組,但是沒有索引的數組中不能有值。

+0

我認爲你的意思是它成爲一個對象。 – Barmar

+0

JSON是一個對象,它是毫無意義的說JSON對象廣告JSON是JavaScript OBJECT表示法的簡稱。 – Imaginaroom

+1

執行字是「符號」。 JSON是您在調用'JSON.stringify()'時從對象或數組創建的字符串。 – Barmar

0
const payload = "{\"teamIds\":[584,585,586]}"; 

console.log('['+JSON.parse(payload).teamIds.toString()+']')