我有一个产品数组的JSON,我想以列表形式加载到我的C#程序中,最终将其显示在DataGridView中。从JSON数组填充DataGridView
JSON:
{
"products":[
{
"name":"game",
"url":"website 1",
"cash_price":"£20.00",
"category":"Playstation 4 Game"
},
{
"name":"tv",
"url":"website 2",
"cash_price":"£200.00",
"category":"electronics"
}
]
}
产品类
class Product
{
[JsonProperty("name")]
public string name { get; set; }
[JsonProperty("url")]
public string url { get; set; }
[JsonProperty("cash_price")]
public string cash_price { get; set; }
[JsonProperty("category")]
public string category { get; set; }
[JsonProperty("url")]
public string url { get; set; }
public static IList<Product> products = new List<Product>();
}
我运行此代码:
string input = File.ReadAllText(openFileDialog1.FileName);
var results = JsonConvert.DeserializeObject(input);
dataGridView1.DataSource = Product.products;
但在DataGridView,所有我显示的是一个空白格与标题名称,网址,cash_price和类别。网格内没有实际的条目。
我在做什么错?
感谢反序列化一样JsonConvert.DeserializeObject<Product>
当你
请不要张贴链接到图像,只是写你得到一个空的网格。此外,请将此标记为WinForms问题。 – dnickless
@dnickless啊对不起,现在全部更新 –
在设置DataSource之前,它看起来并不像是将'Product.products'属性设置为任何东西。 JsonConvert不会为您设置该静态属性 –