簡體   English   中英

Javascript 將 JSON 數據解析為多個變量,在 memory 中存儲單獨的記錄

[英]Javascript parse JSON data into multiple variables storing separate records in memory

我使用了 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 等......但這並不重要。

  1. 我需要單獨存放它們
  2. 我還需要維護完整的 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: [

只需一個簡單的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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM