【发布时间】:2021-05-11 23:12:53
【问题描述】:
我需要有关此 JSON 的帮助。 我需要将一个json转换成下面的数组格式,问题是一个children属性可以无限生成,有人知道怎么做吗? 我无法想象如何循环这个 Json 接口示例为:
`interface User {
id: string;
name: string;
children?: any;
level: number;
}`
``` {
'0': {
id: '2469bdab-23b5-4cb8-90c9-c609a49410b0',
name: 'Richard Paul M.',
children: {
'0': {
id: '97cd3a19-0f1c-4248-a84c-a1f5a0093a89',
name: 'Luis F. Doris',
children: {
'0': {
id: '6410eff5-5aff-46fd-bb08-ed90581007b4',
name: 'Maurice Rudolf Ludwig',
children: {
'0': {
id: '35996ee4-74a6-4343-ba5e-9700c24bee11',
name: 'Joseph E. James A.',
children: {
'0': {
id: '59fdebaf-0229-4d27-901d-4cfbb4cf81de',
name: 'Alan G. William',
children: {},
level: 4
}
},
level: 3
......
```
【问题讨论】:
-
首先你应该用
JSON.parse解析JSON。可能您必须修复格式。您的 JSON 无效。键和字符串在 JSON 中必须双引号。然后您可以使用Object.values将对象转换为数组。 -
你的意思是
children: User[];而不是children?: any;? -
是的,孩子们:用户[];
-
第一步应该是修复 JSON。无效。
标签: javascript arrays json typescript