2016-08-13 76 views
-1

我从datagridview读取数据。对于每一行我创建新的JSONObject。我需要把每个JSON对象放在JSONarray中。这里是代码:c#json使用newtonsoft

PodaciAnaliza podaciAnaliza = new PodaciAnaliza(); 
string[] test = new string[100]; 
podaciAnaliza.Sesija = DateTime.Now.ToString("MM/dd/yyyy h:mm tt"); 


int counter = 1; 
foreach (DataGridViewRow row in glProstor.Rows) 
{ 
    if (counter != glProstor.Rows.Count) 
    { 
     //add if not null 
     podaciAnaliza.Spin = row.Cells["brojSpina"].Value.ToString(); 
     podaciAnaliza.EditK1 = row.Cells["editKontra1"].Value.ToString(); 
     podaciAnaliza.EditI1 = row.Cells["editIsta1"].Value.ToString(); 
     podaciAnaliza.EditK2 = row.Cells["editKontra2"].Value.ToString();     
     podaciAnaliza.EditI2 = row.Cells["editIsta2"].Value.ToString(); 

     test[counter] = JsonConvert.SerializeObject(podaciAnaliza); 
     counter++; 
    } 

}//end of foreach 
+0

问题是什么,查看后有什么不得不尝试? –

+0

我不能找到方法来添加每个JSON数组在一个JSON数组... –

回答

0

维护一个对象列表(你试图序列化)。循环时,将每个元素添加到对象列表中。最后,只需将列表转换为json数组。

var objList = new List<PodaciAnaliza>(); 


int counter = 1; 
foreach (DataGridViewRow row in glProstor.Rows) 
{ 
    if (counter != glProstor.Rows.Count) 
    { 
     var podaciAnaliza = new PodaciAnaliza(); 
     podaciAnaliza.Sesija = DateTime.Now.ToString("MM/dd/yyyy h:mm tt"); 

     //add if not null 
     podaciAnaliza.Spin = row.Cells["brojSpina"].Value.ToString(); 
     podaciAnaliza.EditK1 = row.Cells["editKontra1"].Value.ToString(); 
     podaciAnaliza.EditI1 = row.Cells["editIsta1"].Value.ToString(); 
     podaciAnaliza.EditK2 = row.Cells["editKontra2"].Value.ToString();     
     podaciAnaliza.EditI2 = row.Cells["editIsta2"].Value.ToString(); 

     objList.Add(podaciAnaliza); 
     counter++; 
    } 

}//end of foreach 

//Seralized list: 
var list = JsonConvert.SeralizeObject(objList); 
+0

谢谢,它的工作原理... –