Arrays 角度:如何识别id为';s
为了简化我的问题,我将其分解如下: 我所理解的 如果这是我的目标:Arrays 角度:如何识别id为';s,arrays,json,angular,object,Arrays,Json,Angular,Object,为了简化我的问题,我将其分解如下: 我所理解的 如果这是我的目标: { things: [{ 'text': 'version' 'short': 'v', 'order': 1, 'id': 'A' },{ 'text': 'update' 'short': 'u', 'order': 2, 'id': 'B' }] }
{
things: [{
'text': 'version'
'short': 'v',
'order': 1,
'id': 'A'
},{
'text': 'update'
'short': 'u',
'order': 2,
'id': 'B'
}]
}
…这是我的类型类:
export class Thing {
text: string;
short: string;
order: number;
id: string;
}
我不明白的是
如果这是我的数据:
{ things: {
'A': {
'text': 'version'
'short': 'v',
'order': 1,
'id': 'A'
},
'B': {
'text': 'update'
'short': 'u'
'order': 2
'id': 'B'
}
}
}
…那么类型类是
我尝试过一些真正有创意的、无效的尝试,但都没有成功。我还希望我能理解如何使用这个非数组(没有方括号)。如果这是重复的,请道歉。在第二种情况下,您的
things
类型如下:
interface ThingHolder {
[key: string]: Thing;
}
也就是说,键是字符串,值是Thing
s
数据
的接口将具有该类型的things
属性:
interface AppropriateNameHere {
things: ThingHolder;
}
因此,编译器对此感到满意:
const data : AppropriateNameHere = {
things: {
'A': {
'text': 'version',
'short': 'v',
'order': 1,
'id': 'A'
},
'B': {
'text': 'update',
'short': 'u',
'order': 2,
'id': 'B'
}
}
};
在TypeScript平台上。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON。太棒了!非常感谢!