让这个 JSON 字符串:
[
{
"id": 1,
"text": "Jon Doe"
},
{
"id": 1,
"text": "Pablo Escobar"
}
]
让这个类:
export class MyObject{
id: number;
text: string;
}
如何将此 JSON 字符串转换为 MyObject
列表?
如果我这样做:
console.log(<MyObject[]>JSON.parse(json_string));
它返回一个 Object
列表而不是一个 MyObject
最佳答案
你不一定需要在这里上课。你可以只使用一个接口(interface)
export interface MyObject{
id: number;
text: string;
}
然后你就可以写:
var myObjArray : MyObject[] = [
{
"id": 1,
"text": "Jon Doe"
},
{
"id": 1,
"text": "Pablo Escobar"
}
];
如果您的数据来自服务器,您可能会将其保存在一个类型为 any 的变量中,您只需将其分配给该类型的数组,它就会按预期工作。
var data: any = getFromServer();
var myObjectArray:MyObject[] = data;
在 typescript 中,您不需要实现接口(interface)的类。任何满足接口(interface)契约的对象文字都可以。
如果您的数据仍然是字符串,您可以使用 JSON.parse(jsonString)
将字符串解析为 JavaScript 对象。
查看 Playground here
关于json - typescript JSON字符串类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40171620/