代码之家  ›  专栏  ›  技术社区  ›  David Lee

将对象作为json组合到新对象中,用于web api请求的post

  •  1
  • David Lee  · 技术社区  · 7 年前

    假设我有两个接口

    export interface Student {
        name: string;
    }
    
    export interface Teacher {
        name: string;
    }
    

    我希望帖子正文中的json看起来像这样,因为我的ASP核心希望它作为web api请求的参数。

    {
        "StudentName": "John Doe",
        "TeacherName": "Jane Doe"
    }
    

    我使用以下代码为主体创建json,但这会将其放入json中的两个单独记录中。如果我的接口比请求所需的多,这也不允许我选择特定属性。

    const body = JSON.stringify({ student, teacher });
    

    接下来,我尝试只访问JSON中的特定成员变量。stringify方法,但由于某些原因,它不起作用。此外,如果这样做成功,最终将得到两个同名属性。

    const body = JSON.stringify({ student.name, teacher.name });
    

    我不确定这是typescript、javascript还是角度问题。我试着在网上搜索一些帮助,但我认为我没有使用正确的关键字。

    提前感谢!

    1 回复  |  直到 7 年前
        1
  •  6
  •   Z. Bagley    7 年前

    问题是您没有标记对象项:

    const body = JSON.stringify({ StudentName: student.name, TeacherName: teacher.name })
    

    是预期的格式。