簡體   English   中英

我可以將每個項目存儲在 c# web api 的 foreach 循環內的 json 數組中嗎?

[英]Can i able to store each item in a json array inside a foreach loop in c# web api?

我想將每個項目存儲到一個放在 foreach 循環內的 json 數組。

object array="";
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();
            if (mouvieid <100)
             {
                 array = new[]
                        {
                           new
                            {
                           Name = theatname,
                           Theatrdetailsid=theatid,
                           image=theatimg,
                           lat=latitude,
                           longi=longitude,
                           adress=theataddre,
                           contactnum=cntctnu,
                           desc=descr,
                            }
                          },
                        }
                      } 

Here.我有一個 foreach 循環來獲取有關劇院的詳細信息,我想根據條件將這些數據存儲到 json 數組中。現在我只能設法存儲 1 個數據,即最后一個。

問題是這段代碼在每次循環迭代時都會創建一個新數組。 嘗試類似:

    using Newtonsoft.Json;

    string[] array = new string[]{};
    //data access and loop code
    int id = int.Parse(mouvieId);
    if (id < 100)
    {
        array[id] = JsonConvert.SerializeObject(new { Name = theatname /*rest of properties*/ });
    }

如果 datagrid 行對象是強類型的,那么您可以將行集合轉換為可枚舉的強類型。 在集合上,您可以使用 Linq 查詢來過濾那些符合所需條件的記錄,在 Select 子句中,您可以使用 JsonCovert.SerializeObject 方法(來自 Newton.Json 程序集)序列化對象。

例如:
列出劇院 = alltheatre.Rows 作為列表;
var serializedTheatres = theares.Where(t => t.MouvieId > 100).Select(t => JsonCovert.SerializeObject(t)).ToList();

暫無
暫無

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

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