簡體   English   中英

將數據表合並為 json 的數組,條件為 asp.net web Z8A5DA52ED126447D359E70C0572

[英]merge datatable as array of json with condition asp.net web api

我有兩個數據表 DataTable dt1 和 DataTable dt2 dt1 填充了產品,dt2 填充了產品風味 兩個表都有一個共同的 id,即“productcode”

使用 newtonsoft json 序列化程序我得到的響應為

{
  "products": [
    {
      "productcode": 1676,
      "type": "BEER BOTTLE-24*325ML",
      "image_url": "http://localhost/images/temp.png"
    },
    {
      "productcode": 1677,
      "type": "RED FIGHTER CAN-24*250ML",
      "image_url": "http://localhost/images/temp.png"
    },
    {
      "productcode": 1678,
      "type": "POWER ENERGY CAN 24*330ML",
      "image_url": "http://localhost/images/temp.png"
    }
  ]
}

{
  "flavor": [
    {
      "productcode": 1676,
      "ProductFlavorID": 9351,
      "Flavor": "APPLE"
    },
    {
      "productcode": 1676,
      "ProductFlavorID": 9352,
      "Flavor": "STRAWBERY"
    },
    {
      "productcode": 1673,
      "ProductFlavorID": 9353,
      "Flavor": "respery"
    },
    {
      "productcode": 1678,
      "ProductFlavorID": 9354,
      "Flavor": "RUMMAN"
    }
  ]
}

我需要在 json1 productid= json2 productid 和結果如下的條件下加入這個 jsons

{
  "products": [
    {
      "productcode": 1676,
      "type": "BEER BOTTLE-24*325ML",
      "image_url": "http://localhost/images/temp.png",
      "flavor": [
        {
          "productcode": 1676,
          "ProductFlavorID": 9351,
          "Flavor": "APPLE"
        },
        {
          "productcode": 1676,
          "ProductFlavorID": 9352,
          "Flavor": "STRAWBERY"
        }
      ]
    },
    {
      "productcode": 1677,
      "type": "RED FIGHTER CAN-24*250ML",
      "image_url": "http://localhost/images/temp.png",
      "flavor": [
        {
          "productcode": 1677,
          "ProductFlavorID": 9353,
          "Flavor": "respery"
        }
      ]
    },
    {
      "productcode": 1678,
      "type": "POWER ENERGY CAN 24*330ML",
      "image_url": "http://localhost/images/temp.png"
    }
  ]
}

我怎樣才能存檔這個...

您可以使用linq來處理這種情況,在迭代每個產品時,您可以通過使用 Where 方法過濾從 dt2 設置風味。

簡單的例子是這樣的:

using System.Linq;

products.ForEach(p => {
    p.flavors = flavors.Where(f => f.productcode == product.productcode).ToList();
});

哪里方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM