我正在加载一个 json 文件并需要字段具有相同的名称

export interface People{

name: string
age: number
alive?: boolean
}

json 是这样的
{
 {
 "name": "teste1"
 "age": 41
 "alive?": true
 }
}

加载json
@Injectable()
export class Peoples{
constructor(private http: Http){}

peoples(): Observable<People[]>{
    return this.http.get(`${DEEP_API}/people`)
    .map(response => response.json())
}
}

我的问题是该人无法识别“?”在“活着?”

有什么建议吗?

最佳答案

如果属性名称包含特殊字符,则需要将其放入 ''

export interface People{
    name: string
    age: number
    'alive?': boolean
}

注意 alive?: boolean 是有效的语法,但表示名为 alive 的属性是可选的,而不是名为 alive? 的属性

要访问该属性,您需要使用 person['alive?']

关于json - 如何在Typescript中声明具有特殊类型的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49286425/

10-16 00:10