如何使用json与typescript接口?

时间:2016-06-13 15:19:34

标签: json typescript

我正在阅读我的打字稿应用程序中的JSON数据。我发现这个工具JSON2TS可以从JSON创建接口,因此打字稿可以知道json必须包含的内容。

我的json:

{
"questions": [
    {
    "text": "Is this a question?",
    "answers": ["yes", "no", "maybe", "maybe not"],
    "correct":1
    }]
}

生成的接口:

declare module namespace {

export interface Question {
    text: string;
    answers: string[];
    correct: number;
}

export interface RootObject {
    questions: Question[];
}

}

这些接口需要保存在d.ts文件中并在代码中引用。我的问题:如何在用ajax加载后实际使用json数据?

1 个答案:

答案 0 :(得分:1)

使用该定义文件,如果您的代码位于namespace命名空间中,您可以这样做:

var questions = <RootObject>functionThatReturnsYourJSONData().questions;

如果您的代码不在namespace命名空间中,则应该可以使用。

var questions = <namespace.RootObject>functionThatReturnsYourJSONData().questions;

在任何一种情况下,这都是强类型的:

if (questions.length > 0) {
    console.log(questions[0].text);
}