我讀過RFC和JSON.org,並且看不到數組索引是基於0還是基於1的引用。 JS最初被「發現」,大家是否認爲它是基於0的?JSON是否有聲明的索引基礎?
例如:
{
"selectedItem": 1,
"Items": ["boots", "gloves", "hat"]
}
是選擇的項目 「靴子」 或 「手套」?
如果是這種情況(假設從0開始),這不是假設可能會帶來麻煩,特別是如果JSON支持在默認情況下使用基於1的索引的語言中實現?
我讀過RFC和JSON.org,並且看不到數組索引是基於0還是基於1的引用。 JS最初被「發現」,大家是否認爲它是基於0的?JSON是否有聲明的索引基礎?
例如:
{
"selectedItem": 1,
"Items": ["boots", "gloves", "hat"]
}
是選擇的項目 「靴子」 或 「手套」?
如果是這種情況(假設從0開始),這不是假設可能會帶來麻煩,特別是如果JSON支持在默認情況下使用基於1的索引的語言中實現?
我不認爲數組索引是一個由JSON覆蓋的概念。 JSON數組就是一組有序寫在一個特殊的方式:
的陣列是值的有序集合。一個數組以
[
(左括號)開頭並以]
(右括號)結尾。值由,
(逗號)分隔。
這就是它的全部。索引問題留給了終點,第一個元素可能是索引0,1,10或"pancakes"
,只要索引與元素的順序匹配,就不會對JSON產生任何影響。陣列。
回到細節。 "selectedItem": 1
是指"boots"
還是"gloves"
取決於JSON生產者。
因此,簡而言之,生產者必須告知消費者他們正在使用什麼指數參考系統? (是的,1..2 ..,0..1 ..或煎餅...脆餅??) –
@DanMcGrath:正確。 JSON是一種數據傳輸機制,傳輸數據的語義是別人的問題。 –
不,並不需要一個。在JSON中沒有數組索引。那selectedItem
字段是一個簡單的整數。如果它包含對其他字段的某些引用,那是在應用程序域中,而不是數據符號。
JSON沒有提供引用數組元素的方法,因此基本索引號是無關緊要的。
** J ** ava ** S ** cript ** O ** bject ** N ** otation。 Js是基於零的。混亂在哪裏? –
當用其他語言實現某些內容時,一般規範(請參閱:RFC-4627)應該是明確的。 –