私はC#プログラムをリストとしてロードし、最終的にはDataGridViewに表示したい製品の配列を持つJSONを持っています。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"
}
]
}
Productクラス
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の中で、私が示されてる全てがブランクグリッドですヘッダーの名前、URL、cash_priceとカテゴリ。グリッド内に実際のエントリはありません。
私は間違っていますか?
はJsonConvert.DeserializeObject<Product>
のようにデシリアライズするとき
画像へのリンクを投稿しないでください。空のグリッドが表示されるようにしてください。また、これをWinFormsの質問としてタグ付けしてください。 – dnickless
@dnickless Ahhごめんなさい、すべて更新されました –
DataSourceを設定する前に、何かに 'Product.products'プロパティを設定しているように見えません。 JsonConvertはその静的プロパティを設定しません –