jquery 将一个json数据拆分为两个单独的json,并在代码中添加它们

np8igboo  于 2022-11-03  发布在  jQuery
关注(0)|答案(1)|浏览(152)

我有一个json代码来:

{
              "rID": "1",
              "rFI": "01",
              "rTN": "0011",
              "rAN": "11",
              "sID": "2",
              "sFI": "004",
              "sTN": "1002",
              "sAN": "03402"
}

我使用的是vue JS
目前如果我没有api,我在数据中作为对象的数组来做;

return 
rItems: [
                 { label: 'r', value: '01' },
                 { label: 'rFN', value: '001' },
                 { label: 'rTN', value: '00011' },
                 { label: 'rAN', value: '11255' }
            ],
             sItems: [
                 { label: 's', value: '01' },
                 { label: 'sFN', value: '001' },
                 { label: 'sTN', value: '00011' },
                 { label: 'sAN', value: '11255' }
             ],

并使用循环来显示数据,rItem和sItem都在单独的div中
就像这样

<div class=" v-for="item in sItems">
                                <span class="label">
                                    {{ item.label}}
                                </span>
                                <span class="value">
                                    {{ item.value }}
                                </span>
                            </div>

与rItems相同,我有一个单独div
现在,我已经创建了一个API文件,并希望计算此代码,这样我就可以将json拆分为两个单独的对象,并创建一个对象数组,或者以其他方式循环访问它们
我该怎么做,任何想法都会有帮助
谢谢

e4eetjau

e4eetjau1#

假设您已经知道如何从API中获取数据,最终结果将如下所示:

const getDataAndSplit = async () => {
  const myData = await fetch(URL, etc etc); // get your data from your API
  const rItems = []; // declaring empty array to fill it later
  const sItems = []; // same
  // looping over array of key/values
  Object.entries(myData).forEach(([key, val]) => {
    if (val.startsWith('r'))
      rItems.push({label: key, value: val});
    else
      sItems.push({label: key, value: val});

  }
  return {rItems, sItems};
}

相关问题