为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 JSON 数据映射到表/HTML?

如何将 JSON 数据映射到表/HTML?

慕哥9229398 2023-10-30 20:24:30
我得到的json数据如下:{    "encoding_version" : 1,    "root" : {        "_type" : lookup_config_data",        "Class" : ".key.LookData",        "Tbl" : {            "_type" : "lookup_table",            "Class" : ".key.LookupTable",            "Lhs" : { "_type" : "array<variant>", "_data" : [                ".key.test1",                ".key.test2",                ".key.test3",                ".key.test4",                ".key.test5"                            ] },            "Groups" : { "_type" : "array<array<key>>", "_data" : [                { "_type" : "array<key>", "_data" : [                    ".key.data1",                    ".key.data12"                ] },                { "_type" : "array<key>", "_data" : [                    ".key.data2"                ] },                { "_type" : "array<key>", "_data" : [                    ".key.data3"                ] },                { "_type" : "array<key>", "_data" : [                    ".key.data4"                ] },                { "_type" : "array<key>", "_data" : [                    ".key.data5"                ] }            ] }        }    }}有没有办法映射如下:测试1 -> 数据1,数据12测试2->数据2测试3->数据3测试4->数据4测试5->数据5请帮忙。谢谢!
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

看起来上面的数据有一个预定义的模式。因此,需要注意模式定义的每个语法。但作为起点,您可以使用以下代码。


var obj = {

  "encoding_version" : 1,

  "root" : {

      "_type" : "lookup_config_data",

      "Class" : ".key.LookData",

      "Tbl" : {

          "_type" : "lookup_table",

          "Class" : ".key.LookupTable",

          "Lhs" : { "_type" : "array<variant>", "_data" : [

              ".key.test1",

              ".key.test2",

              ".key.test3",

              ".key.test4",

              ".key.test5"                


          ] },

          "Groups" : { "_type" : "array<array<key>>", "_data" : [

              { "_type" : "array<key>", "_data" : [

                  ".key.data1",

                  ".key.data12"

              ] },

              { "_type" : "array<key>", "_data" : [

                  ".key.data2"

              ] },

              { "_type" : "array<key>", "_data" : [

                  ".key.data3"

              ] },

              { "_type" : "array<key>", "_data" : [

                  ".key.data4"

              ] },

              { "_type" : "array<key>", "_data" : [

                  ".key.data5"

              ] }



          ] }

      }

  }

};


var newObj = {};

var keys = obj.root.Tbl.Lhs._data;

var values = obj.root.Tbl.Groups._data;


if (keys.length == values.length){

  keys.forEach((e,i)=>{

    newObj[extractData(e)] = values[i]._data.map(v=>extractData(v));

  })

}


function extractData(raw){

  return raw.split('.')[2];

}

console.log(newObj);


这将是键到值newObj的映射。LhsGroups


查看完整回答
反对 回复 2023-10-30
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信