Arrays 将json对象作为json数组发送到API

Arrays 将json对象作为json数组发送到API,arrays,json,angular,Arrays,Json,Angular,我有一个API,它接受数据格式为[{record\u id:TestID3}]。我正在尝试在我的angular project中使用下表发送记录\u id字段: html: 组件1.ts: export class MembersAddComponent implements OnInit { member: Array<Object> = []; constructor(private service: DataService ) { } ngOnInit() { } sub

我有一个API,它接受数据格式为[{record\u id:TestID3}]。我正在尝试在我的angular project中使用下表发送记录\u id字段:

html:

组件1.ts:

export class MembersAddComponent implements OnInit {
member: Array<Object> = [];

constructor(private service: DataService ) { }

ngOnInit() {
}

submit() {
  this.service.importRecord(this.member).subscribe(member => {
    this.member = member;
  }, error => {
    console.log(error);
  });

}

}
还有我的服务。ts:

importRecord(data): Observable<any> {
    const formData = new FormData();
    formData.append('token', this.token);
    formData.append('content', this.content);
    formData.append('format', this.format);
    formData.append('returnFormat', this.returnFormat);
    formData.append('type', this.type);

    formData.append('overwriteBehavior', this.overwriteBehavior);
    formData.append('forceAutoNumber', this.forceAutoNumber);
    formData.append('data', data);
    formData.append('returnContent', this.returnContent);


    return this.http.post(this.baseUrl, formData).map(res => res.json())
        .catch(this.handleError);
}
我得到的错误如下:

{错误:导入的数据格式不正确。JSON必须位于数组中,如[{…}].}

我还尝试了member:any={},member:Object={};但我也犯了同样的错误。我认为我无法按照请求的格式格式化我的成员对象。但我无法按预期格式制作

[ { "record_id": "TestID3" } ]
这是一个数组,包含一个元素,它是一个对象

member: Array<Object> = [];
它将尝试读取和写入成员的属性记录\u id,这是一个数组。它不会神奇地向数组中添加元素并设置其属性

因此,您需要的是一个将由表单填充的对象。然后,在将数组发送到API之前,需要将该对象放入数组中

首先定义一个接口来描述对象:

interface Member {
  record_id: string;
}
然后使用一个作为表单的模型:

member: Member = {
  record_id: '';
};

然后在发送前将该成员放入数组:

submit() {
  const data: Array<Member> = [this.member];
  this.service.importRecord(data)...

很难判断这是因为帖子或帖子正文的回复格式不正确

你可以做的事情:

检查Chrome中的网络选项卡以验证请求是否已发送,其内容是否有效,并使用在线验证程序 检查您的API后端,查看您发送的数据是否已保存,如果已保存,则错误与响应中的JSON格式有关。 在Chrome中验证网络请求中的响应数据是否为有效的JSON。 如果所有这些都是真的,您可能需要考虑使用诸如{RestRestType:“JSON”}的标题,如这里的角度文档中所详述的: 如果这些不正确,则需要更改要发送的对象的模型,以反映预期的对象。
共享预期的JSON正文,这将有助于从angular为您的API构建JSON
member: Member = {
  record_id: '';
};
[(ngModel)]="member.record_id"
submit() {
  const data: Array<Member> = [this.member];
  this.service.importRecord(data)...