php中文网

如何将带索引的扁平 JSON 数据转换为嵌套 JSON 对象列表?

php中文网

如何将 json 转换为嵌套 json 对象的列表

您提到的 json 具有以下格式:

{
 "family[0].familyname": "第一个",
 "family[0].sex": "1",
 "family[1].familyname": "第二个",
 "family[1].sex": "1",
}

要将其转换为嵌套 json 对象的列表,您需要执行以下步骤:

  1. 将 json 解析为 key-value 对:
const keyvaluepairs = object.entries(json);
  1. 创建一个数组来存储转换后的对象:
const result = [];
  1. 遍历 key-value 对,并为每个键创建对应的 json 对象:
for (const [key, value] of keyvaluepairs) {
  const [, index] = key.match(/family[(d+)]/);
  result[index] = result[index] || { familyname: '', sex: '' };
  result[index][key.split('.').pop()] = value;
}
  1. 返回转换后的列表:
return result;

最终得到的转换后的 json 列表将如下所示:

[
 {
  "FamilyName": "第一个",
  "Sex": "1"
 },
 {
  "FamilyName": "第二个",
  "Sex": "1"
 }
]

以上就是如何将带索引的扁平 JSON 数据转换为嵌套 JSON 对象列表?的详细内容,更多请关注php中文网其它相关文章!