我想讀取本地 JSON 檔案并將內容放入 InputData 型別的陣列。JSON 由許多條目組成,這些條目也具有 InputData 的格式。我試圖用下面的代碼來實作我的要求。
問題出現在訂閱“TS2339:型別'{}'上不存在屬性'訂閱'”。
如果我無法訂閱 JSON,如何讀取條目并將它們推送到我的陣列?
import dataset from "dataset.json";
export interface InputData {
_id: {
$oid: String;
};
id: String;
expNumber: Number;
passed: Boolean;
}
@Component({
selector: "app-read-data",
templateUrl: "./read-data.component.html",
styleUrls: ["./read-data.component.scss"],
})
export class ReadDataComponent implements OnInit {
public data:InputData[];
constructor() {}
ngOnInit(): void {
this.dataset.subscribe(readData => {
readData.reduce(t => this.data.push(t));
});
console.log("DATA", this.data);
}
這是 JSON 檔案的示例:
[{
"_id": {
"$oid": "51275"
},
"id": "T22F2r",
"expNumber": 2,
"passed": false
},{
"_id": {
"$oid": "23451"
},
"id": "r3322F",
"expNumber": 2,
"passed": true
}]
uj5u.com熱心網友回復:
匯入的 json 被視為常量物件,它不是可觀察的。分配它應該足夠了。
public data: InputData[] = dataset;
注意:如果您使用資產中的 http 呼叫 dataset.json,這將是一個可觀察的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/518184.html
標籤:json有角度的打字稿
上一篇:如果單擊另一個鏈接,則停止導航
