Json操作类型脚本2
我来自Python背景,最近开始使用TypeScript和Angular2编程。我想知道如何使用TypeScript从JSON对象获取密钥。 我的回答是这样的:Json操作类型脚本2,json,typescript,angular,Json,Typescript,Angular,我来自Python背景,最近开始使用TypeScript和Angular2编程。我想知道如何使用TypeScript从JSON对象获取密钥。 我的回答是这样的: response.text() 我把这个对象传递给一个函数 removeMetaData (my_data: string){ //(Various manipulation)...etc } 我已经读到我可以调用json()方法而不是text()。如果我这样做,我应该使用什么类型的my_data 那么, 如果我的JSON如
response.text()
我把这个对象传递给一个函数
removeMetaData (my_data: string){
//(Various manipulation)...etc
}
我已经读到我可以调用json()
方法而不是text()
。如果我这样做,我应该使用什么类型的my_data
那么,
如果我的JSON如下所示:
{
"count": 100,
"next_page": "http://www.test.com/users/?page=2",
"prev_page": "http://www.test.com/users/?page=3",
"results":[
{
"username": "johnny"
},
Etc....
]
我如何解析它?
我读过,我可能必须使用一个接口,但我不明白如何使用
在python中,只需response[“next_page”]
获取字典的键,然后我就可以将该值分配给类中的一个变量。这正是我试图在组件中实现的
多谢各位
加成
list() {
this.requestService.get(this.api_path)
.subscribe(
response => this.populate(response.json()),
error => this.response = error.text()
)
}
populate(payload: object) {
this.count = payload.count;
this.next = payload.next;
this.previous = payload.previous;
*payload.results => this.users = payload.results;******
}
如果我这样做,我应该为我的_数据使用什么类型
它只是一个javascript对象
例如,如果json看起来像:
{
"foo": {
"bar": "bas"
}
}
然后在解析的json(变量
someObj
)中,值someObj.foo.bar
将是bas
声明一个将用作值对象的接口
export interface IPage
{
count:number;
next_page:string;
prev_page:string;
results:Array<any>;
...
...
}
var my_data:IPage;
导出接口IPage
{
计数:数字;
下一页:字符串;
上一页:字符串;
结果:阵列;
...
...
}
变量my_数据:IPage;
现在,将解析后的json值分配给my_data
,并使用“.”运算符访问所有属性,即my_data.count、my_data.results
请随意提问。我喜欢你的答案,但我想了解我在做什么,你能告诉我用星号标记的行有什么问题吗?如果在你解析的JSON中有“results”,并且在你的类中声明了“users”,那就完全可以了。请记住,“用户”应该有正确的数据类型来接受“结果”中的值。如果您使用的是箭头函数,那么它应该是:(payload.results)=>this.users=payload.results;