Array的索引值

ash*_*shu 6 json

我有一个json文件,内容如下:

{
     "aaa":{
         "status":"available",
         "classkey":"dotnet"
     },
     "bbb":{
         "ccc":{
             "com":"available",
             "net":"available",
             "info":"available",
             "org":"available"
          }
     }
}
Run Code Online (Sandbox Code Playgroud)

现在我想通过索引获取数组的值(例如,xxx[0]像这样不喜欢xxx['aaa']).我怎么做?

Ale*_*lex 13

你不能.在json和大多数其他键值数据结构中无法保证顺序.此外,你没有数组,你有一个对象.如果您不打算使用名称来访问值,为什么要使用名称 - 值对?其中包括json和其他键值数据存储的强大功能.如果需要通过整数索引访问值,则只需使用数组来存储数据.

  • +1但是...... JSON本身是否明确地禁止排序(它不保证它,但它*被保存在有线格式中,如果依赖于这样一个确定性的生成是愚蠢的)?我想这不是保证它的实现...无论如何......只是一个愚蠢的漫步. (3认同)

小智 9

实际上你可以int像JSON中的数组一样使用索引,只需尝试:

var jsonObject = {
     "0":{
         "status":"available",
         "classkey":"dotnet"
     },
     "1":{
         "ccc":{
             "com":"available",
             "net":"available",
             "info":"available",
             "org":"available"
          }
     }
}

alert(jsonObject[0].status)
Run Code Online (Sandbox Code Playgroud)