微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法通过 Angular 中的 GET 请求从 json 文件中获取数据

如何解决无法通过 Angular 中的 GET 请求从 json 文件中获取数据

我需要从 json GroupResult 对象中获取,但我对此很陌生,我在想,我做错了。

我的班级:

 export class GroupResult {
  Id!: number;
  Lecturer!: string;
  GroupName!: string;
  Subjects!: SubjectStatsstudent[];
}

export class SubjectStatsstudent {
  Id!: number;
  Name!: string;
  StudentResults!: StudentResult[];
}

export class StudentResult {
  Id!: number;
  Name!: string;
  Number!: number;
  LabPass!: number;
  LetionPass!: number;
  AllPass!: number;
  LabAvg!: number;
  TestAvg!: number;
  rating!: number;
}

我试着这样做:

(service.ts)

import {HttpClient} from '@angular/common/http';
import {Injectable} from '@angular/core';
import { Observable } from 'rxjs';
import { GroupResult } from '../model/group.results';

@Injectable({
    providedIn: 'root'
})

export class GroupService {
    gettest(): Observable<GroupResult> {
        return this.http.get<GroupResult>('../../assets/testGroup.json');
      }
}

(group.component.ts)

  ngOnInit(): void {
    this.groupService.gettest().subscribe((res: GroupResult) => this.Group = res);
    this.SelectedSubject = this.Group.Subjects[0];
  }

(testGroup.json)

{
    "Id": "777","Lecturer": "Ivanov","GroupName": "10701218","Subjects": [
      {
        "Id": "5","Name": "five","StudentResults": [
          {
            "Id": "5","Number": "1","LabPass": "1","LectionPass": "1","AllPass": "1","LabAvg": "1","TestAvg": "1","rating": "1"
          },{
            "Id": "3","Name": "two","Number": "2","LabPass": "2","LectionPass": "2","AllPass": "2","LabAvg": "2","TestAvg": "2","rating": "2"
          },{
            "Id": "7","Name": "tree","Number": "3","LabPass": "3","LectionPass": "3","AllPass": "3","LabAvg": "3","TestAvg": "3","rating": "3"
          }
        ]
      },{
        "Id": "7","Name": "f77777e","StudentResults": [

          {
            "Id": "5",{
        "Id": "3","Name": "fiv333e","rating": "3"
          }
        ]
      }


    ]
}

我有类似 "Cannot read property 'Subjects' of undefined"错误。那我怎么理解, 我的组变量仍未定义/请告诉我我做错了什么?

解决方法

试试

"firestore": {
  "rules": "firestore.rules","indexes": "firestore.indexes.json"
},

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。