当前位置: 首页 > 面试题库 >

如何制作具有多个数组的JSON对象?

蒋嘉实
2023-03-14
问题内容

我以前从未使用过JSON,所以我对它的语法不熟悉。

目前,我有多个包含不同数据的数组。

我想创建一个JSON对象,其中包含多个数组,每个数组包含几段数据。

例如

一个称为汽车的对象,包含多个数组,每个数组用于不同的汽车品牌。在每个数组中,将是汽车的模型以及其他一些类型的数据,例如门的数量(这只是一个虚构的例子,并不重要)。

如果有人用示例解释语法,将不胜感激。


问题答案:

在最外层,JSON对象以a开头,以a {结束}

样本数据:

{
    "cars": {
        "Nissan": [
            {"model":"Sentra", "doors":4},
            {"model":"Maxima", "doors":4},
            {"model":"Skyline", "doors":2}
        ],
        "Ford": [
            {"model":"Taurus", "doors":4},
            {"model":"Escort", "doors":4}
        ]
    }
}

如果将JSON分配给名为data的变量,则对其进行访问将类似于以下内容:

data.cars['Nissan'][0].model   // Sentra
data.cars['Nissan'][1].model   // Maxima
data.cars['Nissan'][2].doors   // 2

for (var make in data.cars) {
    for (var i = 0; i < data.cars[make].length; i++) {
        var model = data.cars[make][i].model;
        var doors = data.cars[make][i].doors;
        alert(make + ', ' + model + ', ' + doors);
    }
}

另一种方法(对汽车模型使用关联数组而不是索引数组):

{
    "cars": {
        "Nissan": {
            "Sentra": {"doors":4, "transmission":"automatic"},
            "Maxima": {"doors":4, "transmission":"automatic"}
        },
        "Ford": {
            "Taurus": {"doors":4, "transmission":"automatic"},
            "Escort": {"doors":4, "transmission":"automatic"}
        }
    }
}

data.cars['Nissan']['Sentra'].doors   // 4
data.cars['Nissan']['Maxima'].doors   // 4
data.cars['Nissan']['Maxima'].transmission   // automatic

for (var make in data.cars) {
    for (var model in data.cars[make]) {
        var doors = data.cars[make][model].doors;
        alert(make + ', ' + model + ', ' + doors);
    }
}

编辑:

校正:JSON对象开始于{并用端部},但它也适用于具有JSON阵列(最外层),与开始[和有端]

此外,原始JSON数据中的重大语法错误也已得到纠正:JSON对象中的所有键名都必须用双引号引起来,并且JSON对象或JSON数组中的所有字符串值也必须用双引号引起来。

看到:

  • JSON规范
  • JSONLint-JSON验证器


 类似资料:
  • 问题内容: 如何使用gson解析json?我有一个具有多种对象类型的json数组,但我不知道我需要创建哪种对象来保存此结构。我无法更改json数据格式(我不控制服务器)。我可以使用gson或其他库解析此json数组,怎么办? 这是json代码块: 问题答案: 这个json结构本质上是gson不友好的。即您不能在Java中对此进行清晰建模,因为“对象”键引用了动态类型。您可以使用此结构做的最好的事情

  • 本文向大家介绍如何过滤具有多个对象的JSON数据?,包括了如何过滤具有多个对象的JSON数据?的使用技巧和注意事项,需要的朋友参考一下 要使用多个对象过滤JSON数据,可以将filter和==一起使用。 示例 要运行上述程序,您需要使用以下命令- 输出结果 在这里,我的文件名为demo194.js。这将产生以下输出-

  • 我希望在每个数组中获取多个对象,但我的代码显示了单个对象的操作。下面是我的PHP代码,我如何添加另一个循环来获取多个对象 这是显示单个物体的结果

  • 问题内容: 我想制作一个ExpandableListView,它从服务器(JSON数组)的响应中为其组及其子级获取数据。这是我的json: “ alamat”和“ nama”将成为组,“ begdate”和“ enddate”将成为其子项。我从这里开始按照以下教程操作:http://en.wikicode.org/index.php/Custom_ExpandableListView,但是当我实现

  • 请,我正在尝试转换从我的Web API返回的此对象: 转换为AngularJS控制器内的这种格式的数组: null [object对象],[object对象]