2つのjsonファイルをAngularで結合するための最良の方法は何ですか?

星雲

製品のリストを含むjsonファイルがあります。

[{"id":76,
  "name":"A",
  "description":"abc",
  "price":199,
  "imageUrl":"image.jpg",
  "productCategory":[{
    "categoryId":5,
    "category":null
   },{
    "categoryId":6,
    "category":null
   }
]}

次に、次のようなカテゴリのリストを含む2番目のjsonファイルがあります。

[{"id":5,"name":"red"},
{"id":6,"name”:"blue"}]

Angularでこの2つのjsonファイルのカテゴリに参加するための最良の方法は何ですか?これが私が達成しようとしていることです。

[{"id":76,
  "name":"A",
  "description":"abc",
  "price":199,
  "imageUrl":"image.jpg",
  "productCategory":[{
    "categoryId":5,
    "category":red
   },{
    "categoryId":6,
    "category":blue
   }
]}
エリセオ

サービスを使用してデータを取得するstackblitzを作成します。はい、方法はswitchMapとmapを使用することです。SwitchMapは配列を受け取り、observableを返す必要があります。マップを使用して、受信したデータを変換し、変換したデータを返します

this.dataService.getCategories().pipe(
         //first get the categories, the categories is in the
         //variable cats
         switchMap((cats:any[])=>{
           return this.dataService.getProducts().pipe(map((res:any[])=>{
               res.forEach(p=>{ //with each product
                 p.productCategory.forEach(c=>{ //with each productCategory in product
                   //equals a propertie "category" to the propertie "name" of the cats
                   c.category=cats.find(x=>x.id==c.categoryId).name 
                 })
               })
               return res
           }))
     })).subscribe(res=>{
       console.log(res)
     })

ユニークな商品しか作れないのなら

this.dataService.getCategories().pipe(
         switchMap((cats:any[])=>{
           return this.dataService.getUniqProduct(2).pipe(map((res:any)=>{
                 res.productCategory.forEach(c=>{
                   c.category=cats.find(x=>x.id==c.categoryId).name
                 })
               return res
           }))
     })).subscribe(res=>{
       console.log(res)
     })

カテゴリを「キャッシュ」したdataServiceを改善できます

  getCategories() {
    if (this.categories)
      return of(this.categories);

    return http.get(......).pipe(tap(res=>{
       this.categories=res;
    }))
  }

注:スタックビットでは、「of」を使用してhttp.get(...)への呼び出しをシミュレートします。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ファイルを分割した後、ファイルを再度結合するための最良の方法は何ですか?

分類Dev

2つのベクトルを連結するための最良の方法は何ですか?

分類Dev

QTで2つのバイナリファイルをコピーするための最良の方法は何ですか

分類Dev

同じファイルを含めるミスを回避するための最良の方法は何ですか?

分類Dev

ハッシュDataStructureを使用してperl内の2つの巨大なcsvファイルを比較するための最良の方法は何ですか?

分類Dev

Angular1.5の$ rootScopeにいくつかの外部jsonファイルを保存するための最良の方法はどれですか?

分類Dev

WeblateでMarkdownファイルをローカライズするための最良の方法は何ですか?

分類Dev

pstファイルのサイズを取得するための最良の方法は何ですか

分類Dev

JS埋め込みファイルを作成するための最良の方法は何ですか?

分類Dev

postgresでは、結合テーブルでANDを実行するための最良の方法は何ですか?

分類Dev

Pythonで設定ファイルを設定するための最良の方法は何ですか

分類Dev

Linuxで非永続ファイルを作成するための最良の方法は何ですか

分類Dev

これらの.csvファイルをロードするための最良/最速の方法は何ですか?

分類Dev

Kubernetesリソースのyamlファイルを作成するための最良の方法は何ですか?

分類Dev

DVDからISOファイルを作成するための最良の方法は何ですか?

分類Dev

Javaでファイルを読み取るための最良の方法は何ですか?

分類Dev

HD QuicktimeMOVファイルを縮小するための最良の方法は何ですか

分類Dev

機能ファイルを整理するための最良の方法は何ですか?

分類Dev

HD QuicktimeMOVファイルを縮小するための最良の方法は何ですか

分類Dev

.zipファイルを作成するためのスクリプトファイルを作成するための最良の方法は何ですか?

分類Dev

.zipファイルを作成するためのスクリプトファイルを作成するための最良の方法は何ですか?

分類Dev

ファイルパスを取得するための最良の方法は何でしょうか

分類Dev

分割後にTarファイルを結合するための最良のアプローチは何ですか

分類Dev

JSONファイルでこの構造を取得するための良い方法は何ですか

分類Dev

テーブルを結合するための最良の方法は何ですか

分類Dev

.javaファイルしかない場合、それらを使用してプロジェクトを作成するための最良の方法は何ですか?

分類Dev

Pythonでファイルに排他的にアクセスするための最良の方法は何ですか?

分類Dev

ファイル内の文字列/正規表現の一致を再帰的に見つけるための最良の方法は何ですか?(UNIX)

分類Dev

複数のファイルの.cabファイルをすばやく作成するための最良の方法は何ですか?

Related 関連記事

  1. 1

    ファイルを分割した後、ファイルを再度結合するための最良の方法は何ですか?

  2. 2

    2つのベクトルを連結するための最良の方法は何ですか?

  3. 3

    QTで2つのバイナリファイルをコピーするための最良の方法は何ですか

  4. 4

    同じファイルを含めるミスを回避するための最良の方法は何ですか?

  5. 5

    ハッシュDataStructureを使用してperl内の2つの巨大なcsvファイルを比較するための最良の方法は何ですか?

  6. 6

    Angular1.5の$ rootScopeにいくつかの外部jsonファイルを保存するための最良の方法はどれですか?

  7. 7

    WeblateでMarkdownファイルをローカライズするための最良の方法は何ですか?

  8. 8

    pstファイルのサイズを取得するための最良の方法は何ですか

  9. 9

    JS埋め込みファイルを作成するための最良の方法は何ですか?

  10. 10

    postgresでは、結合テーブルでANDを実行するための最良の方法は何ですか?

  11. 11

    Pythonで設定ファイルを設定するための最良の方法は何ですか

  12. 12

    Linuxで非永続ファイルを作成するための最良の方法は何ですか

  13. 13

    これらの.csvファイルをロードするための最良/最速の方法は何ですか?

  14. 14

    Kubernetesリソースのyamlファイルを作成するための最良の方法は何ですか?

  15. 15

    DVDからISOファイルを作成するための最良の方法は何ですか?

  16. 16

    Javaでファイルを読み取るための最良の方法は何ですか?

  17. 17

    HD QuicktimeMOVファイルを縮小するための最良の方法は何ですか

  18. 18

    機能ファイルを整理するための最良の方法は何ですか?

  19. 19

    HD QuicktimeMOVファイルを縮小するための最良の方法は何ですか

  20. 20

    .zipファイルを作成するためのスクリプトファイルを作成するための最良の方法は何ですか?

  21. 21

    .zipファイルを作成するためのスクリプトファイルを作成するための最良の方法は何ですか?

  22. 22

    ファイルパスを取得するための最良の方法は何でしょうか

  23. 23

    分割後にTarファイルを結合するための最良のアプローチは何ですか

  24. 24

    JSONファイルでこの構造を取得するための良い方法は何ですか

  25. 25

    テーブルを結合するための最良の方法は何ですか

  26. 26

    .javaファイルしかない場合、それらを使用してプロジェクトを作成するための最良の方法は何ですか?

  27. 27

    Pythonでファイルに排他的にアクセスするための最良の方法は何ですか?

  28. 28

    ファイル内の文字列/正規表現の一致を再帰的に見つけるための最良の方法は何ですか?(UNIX)

  29. 29

    複数のファイルの.cabファイルをすばやく作成するための最良の方法は何ですか?

ホットタグ

アーカイブ