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

我已经使用了 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: [


神不在的星期二
浏览 157回答 1
1回答

素胚勾勒不出你

只需一个简单的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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript