arrays - 如何为 JSON 数据中的每个对象转换 2 个单独的数组?
问题描述
管理从 url 生成正确的 JSON 数据。但是如何使用 JSON 数据创建 2 个单独的数组以获得以下输出?
PrefectureCode = ["1", "2", ....]
PrefectureName = ["A", "B", ....]
*** 生成的 JSON ***
{
"message" : null,
"result" : [
{
"prefCode" : 1,
"prefName" : "北海道"
},
{
"prefCode" : 2,
"prefName" : "青森県"
},
{
"prefCode" : 3,
"prefName" : "岩手県"
},
{
"prefCode" : 4,
"prefName" : "宮城県"
},
{
"prefCode" : 5,
"prefName" : "秋田県"
},
{
"prefCode" : 6,
"prefName" : "山形県"
},
{
"prefCode" : 7,
"prefName" : "福島県"
},
{
"prefCode" : 8,
"prefName" : "茨城県"
},
{
"prefCode" : 9,
"prefName" : "栃木県"
},
{
"prefCode" : 10,
"prefName" : "群馬県"
},
{
"prefCode" : 11,
"prefName" : "埼玉県"
},
{
"prefCode" : 12,
"prefName" : "千葉県"
},
{
"prefCode" : 13,
"prefName" : "東京都"
},
{
"prefCode" : 14,
"prefName" : "神奈川県"
},
{
"prefCode" : 15,
"prefName" : "新潟県"
},
{
"prefCode" : 16,
"prefName" : "富山県"
},
{
"prefCode" : 17,
"prefName" : "石川県"
},
{
"prefCode" : 18,
"prefName" : "福井県"
},
{
"prefCode" : 19,
"prefName" : "山梨県"
},
{
"prefCode" : 20,
"prefName" : "長野県"
},
{
"prefCode" : 21,
"prefName" : "岐阜県"
},
{
"prefCode" : 22,
"prefName" : "静岡県"
},
{
"prefCode" : 23,
"prefName" : "愛知県"
},
{
"prefCode" : 24,
"prefName" : "三重県"
},
{
"prefCode" : 25,
"prefName" : "滋賀県"
},
{
"prefCode" : 26,
"prefName" : "京都府"
},
{
"prefCode" : 27,
"prefName" : "大阪府"
},
{
"prefCode" : 28,
"prefName" : "兵庫県"
},
{
"prefCode" : 29,
"prefName" : "奈良県"
},
{
"prefCode" : 30,
"prefName" : "和歌山県"
},
{
"prefCode" : 31,
"prefName" : "鳥取県"
},
{
"prefCode" : 32,
"prefName" : "島根県"
},
{
"prefCode" : 33,
"prefName" : "岡山県"
},
{
"prefCode" : 34,
"prefName" : "広島県"
},
{
"prefCode" : 35,
"prefName" : "山口県"
},
{
"prefCode" : 36,
"prefName" : "徳島県"
},
{
"prefCode" : 37,
"prefName" : "香川県"
},
{
"prefCode" : 38,
"prefName" : "愛媛県"
},
{
"prefCode" : 39,
"prefName" : "高知県"
},
{
"prefCode" : 40,
"prefName" : "福岡県"
},
{
"prefCode" : 41,
"prefName" : "佐賀県"
},
{
"prefCode" : 42,
"prefName" : "長崎県"
},
{
"prefCode" : 43,
"prefName" : "熊本県"
},
{
"prefCode" : 44,
"prefName" : "大分県"
},
{
"prefCode" : 45,
"prefName" : "宮崎県"
},
{
"prefCode" : 46,
"prefName" : "鹿児島県"
},
{
"prefCode" : 47,
"prefName" : "沖縄県"
}
]
}
解决方案
您可以使用array#reduce
和推入相应数组中的数据prefCode
并对prefName
结果进行解构。
let response = { "message" : null, "result" : [ { "prefCode" : 1, "prefName" : "北海道" }, { "prefCode" : 2, "prefName" : "青森県" }, { "prefCode" : 3, "prefName" : "岩手県" }, { "prefCode" : 4, "prefName" : "宮城県" }, { "prefCode" : 5, "prefName" : "秋田県" }, { "prefCode" : 6, "prefName" : "山形県" }, { "prefCode" : 7, "prefName" : "福島県" }, { "prefCode" : 8, "prefName" : "茨城県" }, { "prefCode" : 9, "prefName" : "栃木県" }, { "prefCode" : 10, "prefName" : "群馬県" }, { "prefCode" : 11, "prefName" : "埼玉県" }, { "prefCode" : 12, "prefName" : "千葉県" }, { "prefCode" : 13, "prefName" : "東京都" }, { "prefCode" : 14, "prefName" : "神奈川県" }, { "prefCode" : 15, "prefName" : "新潟県" }, { "prefCode" : 16, "prefName" : "富山県" }, { "prefCode" : 17, "prefName" : "石川県" }, { "prefCode" : 18, "prefName" : "福井県" }, { "prefCode" : 19, "prefName" : "山梨県" }, { "prefCode" : 20, "prefName" : "長野県" }, { "prefCode" : 21, "prefName" : "岐阜県" }, { "prefCode" : 22, "prefName" : "静岡県" }, { "prefCode" : 23, "prefName" : "愛知県" }, { "prefCode" : 24, "prefName" : "三重県" }, { "prefCode" : 25, "prefName" : "滋賀県" }, { "prefCode" : 26, "prefName" : "京都府" }, { "prefCode" : 27, "prefName" : "大阪府" }, { "prefCode" : 28, "prefName" : "兵庫県" }, { "prefCode" : 29, "prefName" : "奈良県" }, { "prefCode" : 30, "prefName" : "和歌山県" }, { "prefCode" : 31, "prefName" : "鳥取県" }, { "prefCode" : 32, "prefName" : "島根県" }, { "prefCode" : 33, "prefName" : "岡山県" }, { "prefCode" : 34, "prefName" : "広島県" }, { "prefCode" : 35, "prefName" : "山口県" }, { "prefCode" : 36, "prefName" : "徳島県" }, { "prefCode" : 37, "prefName" : "香川県" }, { "prefCode" : 38, "prefName" : "愛媛県" }, { "prefCode" : 39, "prefName" : "高知県" }, { "prefCode" : 40, "prefName" : "福岡県" }, { "prefCode" : 41, "prefName" : "佐賀県" }, { "prefCode" : 42, "prefName" : "長崎県" }, { "prefCode" : 43, "prefName" : "熊本県" }, { "prefCode" : 44, "prefName" : "大分県" }, { "prefCode" : 45, "prefName" : "宮崎県" }, { "prefCode" : 46, "prefName" : "鹿児島県" }, { "prefCode" : 47, "prefName" : "沖縄県" } ] },
{PrefectureCode, PrefectureName} = response.result.reduce((r,{prefCode, prefName}) => {
r.PrefectureCode.push(prefCode);
r.PrefectureName.push(prefName);
return r;
},{PrefectureCode: [], PrefectureName: []});
console.log(PrefectureCode, PrefectureName);
推荐阅读
- css - 如何让 mat-table 自动调整大小以适应标题
- java - 我如何使用 mockito 为 jsonparser、jsonmapping 和 io 异常编写测试用例
- cassandra - 在单个数据中心中配置具有 rac 和 vnode 的 cassandra
- java - java.util 和 commons-net 包中的 Base64 之间的区别?
- php - jQuery onChange 使用 AJAX 将选择的值发送到 JsTree
- android-studio - 我如何在 ubuntu 18 中安装 android studio 2.2
- sql-server - 触发器对性能影响的统计
- c++ - UWP:在两个页面之间实现基本导航会导致错误?
- python - Python 2 到 3 迁移:AttributeError: 'int' object has no attribute 'replace'
- c++ - 关于向量初始化的一些问题