Jsonデータハンドラ項目


nugetを使用してNew扁桃体のjsonライブラリファイルをダウンロードして使用しました.
JsonHandlerクラスをjsonプロパティにインポートし、カラムの作成とテーブルの戻りの役割のみを担当します.
その後、データバインドセクションはフォームで処理され、JsonHandlerでイベント(JsonHandlerで)を定義し、JsonHandlerがJRrayオブジェクトをフォームに戻すようにします.
(public repoには存在しませんが、タイプオブジェクトをパラメータ値に渡すと、そのオブジェクトタイプを使用してテーブルとデータをバインドし、オブジェクトを返すことができます.)
JRayオブジェクトは、値のみを持つ形式です.インデックス番号と付随するjsonデータはオブジェクトに格納されます.
JonsHandlerからPropertyへのデータ列の作成時にjsonデータが取得されたため、JRayオブジェクト値をフォームに戻して使用します.
返されたフォームは、オブジェクトをモデルと逆シーケンス化します.
foreach文を使用して、モデルタイプとしてリストに格納されているJARRay値を各ループの1つのROWとして作成し、配列に変換してテーブルのローとして保存します.
        private void ProductModel(ref JArray sender)
        {
            try
            {
                List<Product> listProducts = sender.ToObject<List<Product>>();

                foreach (Product product in listProducts)
                {
                    List<string> listOneRow = new List<string>();

                    foreach (ProductDetails productDetail in product.ProductDetails)
                    {
                        listOneRow.Add(product.Id.ToString());
                        listOneRow.Add(product.Category);
                        listOneRow.Add(product.Name);
                        listOneRow.Add(product.Color);
                        listOneRow.Add(product.Stock.ToString());
                        listOneRow.Add(product.Price.ToString());

                        if (productDetail.Description != null)
                        {
                            listOneRow.Add(productDetail.Description);
                        }
                        else
                        {
                            listOneRow.Add(string.Empty);
                        }
                        if (productDetail.ImgUrl != null)
                        {
                            listOneRow.Add(productDetail.ImgUrl);
                        }
                        else
                        {
                            listOneRow.Add(string.Empty);
                        }

                        dtMain.Rows.Add(listOneRow.ToArray());
                    }

                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
これにより、モデルは異なるタイプのjsonアーキテクチャデータをクエリーできます.
ハブアイテムのダウンロード