如何将包含嵌套数组的 JSON 对象转换为指定结构的列表?
将 json 转换为嵌套列表
你在处理 json 对象时遇到了问题,该对象包含嵌套数组,你想将其转换为具有指定结构的列表。下面将分步介绍如何解决此问题:
1. json 解析
首先,你需要解析 json 字符串并将其转换为 javascript 对象。你可以使用内置的 json.parse() 函数来实现这一点:
const json = `{ "family[0].familyname": "第一个", "family[0].sex": "1", "family[1].familyname": "第二个", "family[1].sex": "1" }`; const jsonobject = json.parse(json);
2. 提取数组数据
由于 json 对象使用数组索引来表示嵌套数组,因此需要根据这些索引提取数据。对于每个属性键,将其拆分为数组部分和属性部分:
const arraykeys = object.keys(jsonobject).filter(key => key.includes("family")); const familymembers = arraykeys.map(key => { const [familyindex, attribute] = key.split("."); return { familyname: jsonobject[`family[${familyindex}].familyname`], sex: jsonobject[`family[${familyindex}].sex`] }; });
3. 转换为列表
最后,将提取的数据转换为指定结构的列表:
const familyList = [ { FamilyName: "第一个", Sex: "1" }, { FamilyName: "第二个", Sex: "1" } ];