【发布时间】:2020-07-19 16:01:34
【问题描述】:
我有这个产品表:
P_Id P_Title P_JsonData P_SC_Id
168 fdsfdf SomeJson 1
SomeJson 等于:
{
"pType": "1",
"pTitle": "son 1",
"pProds": [{
"formM": 1,
"sDesc": "<p>son 1</p>",
"lDesc": "<p>son 1<br></p>",
"pColor": "",
"pSize": "XXS",
"postage": "22",
"quatity": 23,
"aPrice": "23",
"rPrice": "23",
"Discounted": "23",
"Price": "23",
"p_Num": "71770005f28641118a617ba8ec070a44",
"images": [{
"mN": 1,
"idImage": "image1",
"fileName": "1724d443fe514050903176247d379e09.jpg",
"bytes": "/img/ProdImages/71770005f28641118a617ba8ec070a44/1724d443fe514050903176247d379e09.jpg"
}, {
"mN": 1,
"idImage": "image2",
"fileName": "f70d2e941fd740c5bd72cb451c04b81b.jpg",
"bytes": "/img/ProdImages/71770005f28641118a617ba8ec070a44/f70d2e941fd740c5bd72cb451c04b81b.jpg"
}, {
"mN": 1,
"idImage": "image3",
"fileName": "4c58e7b0406b48c89fcd5fabe151205a.jpg",
"bytes": "/img/ProdImages/71770005f28641118a617ba8ec070a44/4c58e7b0406b48c89fcd5fabe151205a.jpg"
}]
}, {
"formM": 2,
"sDesc": "<p>son 2</p>",
"lDesc": "<p>son 2<br></p>",
"pColor": "",
"pSize": "XXS",
"postage": "3",
"quatity": 3,
"aPrice": "3",
"rPrice": "3",
"Discounted": "3",
"Price": "3",
"p_Num": "7be125c9df94481a84bf1eff928fc2a3",
"images": [{
"mN": 2,
"idImage": "image1",
"fileName": "c117460b70194788b162d5445f01e151.jpg",
"bytes": "/img/ProdImages/7be125c9df94481a84bf1eff928fc2a3/c117460b70194788b162d5445f01e151.jpg"
}, {
"mN": 2,
"idImage": "image2",
"fileName": "5a70893f7e5a401398344d4269f245ce.jpg",
"bytes": "/img/ProdImages/7be125c9df94481a84bf1eff928fc2a3/5a70893f7e5a401398344d4269f245ce.jpg"
}]
}, {
"formM": 0,
"sDesc": "",
"lDesc": "",
"pColor": "",
"pSize": "0",
"postage": "0",
"quatity": 0,
"aPrice": "0",
"rPrice": "0",
"Discounted": "0",
"Price": "0",
"p_Num": "1b7752c65d3747ed99562745b875b8da",
"images": []
}, {
"formM": 0,
"sDesc": "",
"lDesc": "",
"pColor": "",
"pSize": "0",
"postage": "0",
"quatity": 0,
"aPrice": "0",
"rPrice": "0",
"Discounted": "0",
"Price": "0",
"p_Num": "5b817d94b3ec4471a26a0a47a15cc37c",
"images": []
}]
}
此 SomeJson 表示产品表中每一行的产品,因此如果两个产品相同但按尺寸和颜色区分,则产品可以有多个产品,因此它们具有不同的价格但适合相同的产品。
现在 products 表中的每一行都会有这个 SomeJson,我需要做的是按价格订购 json,这样我就可以得到 SomeJson 的元素 0 中的最低值。
我想按价格降序订购,所以我从 SomeJson 元素 0 处获得最高价格。
我试过了:
从最低价到最高价
data = data.OrderBy(x => JsonConvert.DeserializeObject<MainProduct>(x.P_JsonData).pProds.Where(g => Convert.ToDouble(g.Price) > 0 && g.formM > 0).OrderBy(d => Convert.ToDouble(d.Price)).ElementAt(0).Price).ToList();
最高到最低价:
data = data.OrderByDescending(x => JsonConvert.DeserializeObject<MainProduct>(x.P_JsonData).pProds.Where(g => Convert.ToDouble(g.Price) > 0 && g.formM > 0).OrderByDescending(d => d.Price).ElementAt(0).Price).ToList();
但没有运气
以下是构成此产品表和 json 的对象:
public class MainProduct
{
public string pType;
public string pTitle;
public List<ProductJson> pProds;
}
public class ProductJson
{
public int formM;
public string sDesc;
public string lDesc;
public string pColor;
public string pSize;
public string postage;
public int quatity;
public string aPrice;
public string rPrice;
public string Discounted;
public string Price;
public string p_Num;
public List<ImageJson> images;
}
public class ImageJson
{
public int mN;
public string idImage;
public string fileName;
public string bytes;
}
那么我将如何实现从最低到最高和从最高到最低?
【问题讨论】:
-
我不确定,但你能试着分成两行。我的意思是反序列化它首先存储在一个变量中。然后应用 OrderBy。它应该工作