簡體   English   中英

我如何使用C#將每個項目存儲在json數組中

[英]how can i store each items in a json array using c#

我想將每個項目存儲到放置在foreach循環內的json數組中,我怎么可能?

目前我的代碼是

foreach (DataRow drow1 in alltheatre.Rows)
        {
            string theatname = drow1["TheatreName"].ToString();
            string latitude = drow1["Latitude"].ToString();
            string longitude = drow1["Longitude"].ToString();
            string theatname = drow1["TheatreName"].ToString();
            string theatid = drow1["TheatreDetailsId"].ToString();
            string theataddre = drow1["TheatreAddress"].ToString();
            string cntctnu = drow1["ContactNum"].ToString();
            string theatimg = drow1["TheatreImage"].ToString();
            string descr = drow1["TheatreDesc"].ToString();
            string mouvieid = drow1["MovieMasterId"].ToString();

                 array = new[]
                        {
                           new
                            {
                           Name = theatname,
                           Theatrdetailsid=theatid,
                           image=theatimg,
                           lat=latitude,
                           longi=longitude,
                           adress=theataddre,
                           contactnum=cntctnu,
                           desc=descr,
                            }
                          },
                        }
                      } 

在這里,我有一個foreach循環來獲取有關劇院的詳細信息,我試圖將每個數據存儲到json數組,但是我只能存儲1個數據,即最后一個。如何解決此問題。

您需要在foreach循環之外聲明新集合。 您只有一個,因為每次都會創建一個新數組。

而不是數組,應該使用List<T> 除非您要使用LINQ或創建Rows集合大小的數組,否則這將容易得多。

var array = new List<object>();

foreach (var row in alltheatre.Rows)
{
    // Get your properties

    array.Add(new 
    {
        // Set your properties
    });
}

我將使用LINQ的Select來映射每一行:

IEnumerable<object> mapped = alltheatre.Rows.Select(row => new 
{
     Name = row["TheatreName"].ToString(),
     Theatrdetailsid = row["TheatreDetailsId"].ToString()
     // ...
});

如果需要將其放在原始數組中,可以調用ToArray()

object[] mappedArray = mapped.ToArray();

暫無
暫無

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

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