JS:JSON检索所有JSON数据

时间:2018-05-31 03:46:35

标签: javascript json

我有一个JSON对象,如下所示:

    var ob = {
              "a":[
                   "a1",
                   "a2"
                   ],
              "b":[
                   "b1",
                   "b2"
                   ],
              "c":[
                   "c1",
                   "c2"
                   ]
              }

我正在尝试将JSON值/数据(a1,a2,b1,b2,c1,c2)填充到div中。
我可以使用for loop填充a,b,c但我不知道如何获取“内部”数据。
专家请帮助我。
(我是JavaScript的新手)

2 个答案:

答案 0 :(得分:0)

    var ob = {
          "a":[
               "a1",
               "a2"
               ],
          "b":[
               "b1",
               "b2"
               ],
          "c":[
               "c1",
               "c2"
               ]
          }

var keys = Object.keys(ob)

的console.log(键)

keys.forEach(key => {console.log(ob [key])})

答案 1 :(得分:-1)

第一个词汇。这不是JSON而是javascript对象。 JSON是一个可用于表示该对象的字符串。如果你没有字符串,那就不是JSON。

通过执行类似的操作,您可以获得内部“数据”(数组项和对象属性)。 ob.a[0] // "a1"点访问对象的子属性。用于获取数组项的硬括号和索引。您可以使用硬括号和property-id来获取对象(例如:ob["a"][0] // "a1")您可以像设置任何其他属性一样设置这些属性的数据。 ob.a[0] = "something";

您可以通过pushing向数组添加新值。

ob.a.push("a3");

如果您需要编辑项目但不知道索引,可以使用.indexOf()找到它,它会给出数组中项目的位置(如果找不到,则为-1):

var index = ob.a.indexOf("a2");
if (index > -1) {
    ob.a[index] = "a2.b";
}

或者你可以遍历内部数组:

for(var i=0; i<ob.a.length;i++){ 
  ob.a[i] = "a" + i;
}