2017-10-16 192 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(...);