Json操作类型脚本2

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如

我来自Python背景,最近开始使用TypeScript和Angular2编程。我想知道如何使用TypeScript从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;