2017-10-16 188 views
0

我正在开发一个Angular 4应用程序,它通过获取和发送JSON请求来说明REST API。Angular 4/Typescript JSON格式化

当我准备JSON请求发布我做了很多手工作业,以构建JSON ..

我肯定有必须比下面使用图书馆或打字稿招一个更好的办法..但一直没能找到,并正在寻找建议。

const addressJson = ' { \n ' + this.jsonFormatField('Address', serviceAddress.address) + ',' + 
      this.jsonFormatField('Address2', serviceAddress.address2) + '\n,' + 
      this.jsonFormatField('City', address3) + '\n,' + 

回答

4

您试过JSON.stringify?它接受一个普通的JavaScript对象作为输入,并生成一个包含关联的JSON的字符串。

+0

我想我的问题是,在我的应用我有一个JSON对象X略有不同属性的JSON对象Ÿ我张贴到需要的API ...我想我可以在Y的结构中创建一个对象,然后填充X中的属性,这会更清洁一些? – AJM

+0

你肯定会这么做。通常,对于API的请求和响应数据,您需要一个[dto](https://en.wikipedia.org/wiki/Data_transfer_object),它们是针对相关API量身定制的轻量级对象。应用程序使用的类型不必精确地映射到这一点,事实上,它们可能会从您使用的各种框架中添加很多行李。因此,在客户端应用程序中使用的类型和API可以理解的类型之间进行某种明确的转换是个不错的主意。当涉及到添加和删除字段时,这会得到回报。 –

1

角将连载你的目的是JSON:

const address = { 
    Address: serviceAddress.address, 
    Address2: serviceAddress.address2, 
    City: address3 
}; 

http 
    .post('/your/rest/endpoint', address) 
    // subscribe() is still necessary when using post(). 
    .subscribe(...);