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

Javascript 将 JSON 数据解析为多个变量,在内存中存储单独的记录

Javascript 将 JSON 数据解析为多个变量,在内存中存储单独的记录

神不在的星期二 2021-10-29 16:12:37
我已经使用了 JSON stringify 和 JSON Parse 等......,但是我在查找/计算如何将我的 JSON 结果拆分为多个变量时遇到了麻烦。问题:我有一个 JSON 结果,其中包含 2 到多个结果(部分、页面等...) 目标:将每个结果/行存储到其自己的变量中。完整未解析的 JSON 结果示例:{ "pages": [  {   "name": "page1",   "elements": [    {     "type": "text",     "name": "question1"    }   ]  },  {   "name": "page2",   "elements": [    {     "type": "checkbox",     "name": "question2",     "choices": [      "item1",      "item2",      "item3"     ]    }   ]  } ]}在示例中,请注意"name": "page1"和page2是明确的分隔符,我最终可以让它们调用 SectionA 、 SectionB 等。但这应该不重要。我需要将它们分开存放我还需要维护完整的 JSON 结构我想用它做什么的例子var page1 ={ "pages": [  {   "name": "page1",   "elements": [    {     "type": "text",     "name": "question1"    }   ]  } ]}第二个:var page2 ={ "pages": [  {   "name": "page2",   "elements": [    {     "type": "checkbox",     "name": "question2",     "choices": [      "item1",      "item2",      "item3"     ]    }   ]  } ]}请注意,不仅它被分解了,而且我想在变量中维护的主要部分 "pages: [
查看完整描述

1 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

只需一个简单的map()操作就可以做到。


之后,您可以使用数组解构将结果捕获到单独的变量中:


const data = {

  "pages": [{

      "name": "page1",

      "elements": [{

        "type": "text",

        "name": "question1"

      }]

    },

    {

      "name": "page2",

      "elements": [{

        "type": "checkbox",

        "name": "question2",

        "choices": [

          "item1",

          "item2",

          "item3"

        ]

      }]

    }

  ]

};


const split = data.pages.map(p => ({pages: [p]}));


console.log(split);


const [page1, page2] = split;


console.log(page1);

console.log(page2);


查看完整回答
反对 回复 2021-10-29
  • 1 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

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