2017-10-16 15 views
0

JSONリクエストを取得して送信することでREST APIを使用するAngular 4アプリケーションを開発しています。角4/Typescript JSON書式設定

私はJSONを構築するための手動作業の多くをやって投稿するためのJSON要求を用意しております。..

私は、以下のライブラリまたはtypescriptですトリックを使用するよりも良い方法がなければならないと確信しています。..しかし、1つを見つけることができず、推奨事項を探しています。

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オブジェクトYに私はニーズに投稿していますAPIを...私はYの構造体にオブジェクトを作成して、Xからプロパティを埋め込むことができたと思いますが、これは少しきれいになりますか? – AJM

+0

あなたは確かにそれをしなければなりません。通常、APIへのリクエストおよびレスポンスデータの場合、問題のAPIに合わせた軽量オブジェクトである[dto](https://en.wikipedia.org/wiki/Data_transfer_object)が必要です。アプリケーションで使用されるタイプは、これに正確にマッピングする必要はなく、実際にはさまざまなフレームワークから多くの手荷物を追加する可能性があります。したがって、クライアントアプリケーションで使用される型と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(...);