JS遍历JSON,获取所有key/value

Bertha 。 2022-12-29 12:48 242阅读 0赞

I;m Shendi


目录

JSONObject

已知键名获取

获取所有key,value

遍历

通过 keys 来遍历

通过 for in遍历

JSONArray

遍历数组

JSONObject


格式为 {“key”: value, “key”: value}

字符串可通过 eval 函数处理

var jsonObject = eval(‘(‘ + json + ‘)’);

JS的对象与 JSON格式对应

已知键名获取

这是最常用的,一般都知道json数据里有啥,只需要取出来

直接使用 jsonObject.键 来获取

例如 {“a”: 1, “b”: 2}

  1. var a = jsonObject.a;
  2. var b = jsonObject.b;

获取所有key,value

通过 Object.keys(jsonObject) 将所有的键转化为数组

  1. var keys = Object.keys(jsonObject);
  2. // keys == ["a", "b"];

通过 Object.values(jsonObject) 将所有值转化为数组

  1. var values = Object.values(jsonObject);
  2. // values == [1, 2];

通过 Object.entries(jsonObject) 将所有键值转化为二维数组

  1. var entrys = Object.entries(jsonObject);
  2. // entrys == [["a", 1], ["b", 2]];

还有就是将 json 转map在做操作了

遍历

根据上面说的,遍历有两种方法

一种是通过 keys 来遍历,一种是for in

通过 keys 来遍历

  1. var keys = Object.keys(jsonObject);
  2. for (var i = 0; i < keys.length; i++) {
  3. console.log(keys[i] + "=" + jsonObject[keys[i]);
  4. }
  5. // a=1
  6. // b=2

通过 for in遍历

  1. for (i in jsonObject) {
  2. console.log(i + "=" + jsonObject[i]);
  3. }
  4. // a=1
  5. // b=2

JSONArray


格式为 [{key: value}, {key: value}]

如果是字符串,直接通过 eval 来转换

与 js 内数组使用方法一致

遍历数组

  1. var jsonArray = eval("[{\"a\": 1},{\"b\":2}]");
  2. for (i in jsonArray) {
  3. var obj = jsonArray[i];
  4. for (key in obj) {
  5. console.log(key + "=" + obj[key]);
  6. }
  7. }
  8. // a=1
  9. // b=2

当然也可以如下方式遍历

  1. var jsonArray = eval("[{\"a\": 1},{\"b\":2}]");
  2. for (var i = 0; i < jsonArray.length; i++) {
  3. var obj = jsonArray[i];
  4. for (key in obj) {
  5. console.log(key + "=" + obj[key]);
  6. }
  7. }
  8. // a=1
  9. // b=2

一键三连嘛?

发表评论

表情:
评论列表 (有 0 条评论,242人围观)

还没有评论,来说两句吧...

相关阅读