1

我已经阅读了RFCJSON.org并且看不到关于数组索引是基于 0 还是基于 1 的参考。最初是在 JS 中“发现”的,是不是每个人都认为它是基于 0 的?

例如:

{ 
  "selectedItem": 1,
  "Items": ["boots", "gloves", "hat"]
}

选择的项目是“靴子”还是“手套”?

如果是这种情况(假设从 0 开始),这种假设是否可能会带来麻烦,特别是如果 JSON 支持是在默认使用基于 1 的索引的语言中实现的?

4

2 回答 2

2

我认为数组索引根本不是JSON 涵盖的概念。JSON 数组只是以特定方式编写的有序集合:

数组是值的有序集合。数组以[(左括号)开始,以](右括号)结束。值用,(逗号)分隔。

这就是它的全部。索引问题留给端点,第一个元素可以是索引 0、1、-10,或者"pancakes"只要索引与数组中元素的顺序匹配,它就不会对 JSON 产生任何影响.

回到细节。"selectedItem": 1是指还是"boots"取决于"gloves"JSON 生产者。

于 2012-05-07T04:33:55.140 回答
1

不,它不需要一个。JSON 中没有数组索引之类的东西。该selectedItem字段是一个简单的整数。如果它包含对另一个字段的引用,那是在应用程序域中,而不是数据符号。

JSON 不提供引用数组元素的方法,因此基本索引号无关紧要。

于 2012-05-07T04:38:46.483 回答