2016-08-03 8 views
0

DataTableからすべてのデータをList<string> dataFromDataTable = new List<string>();に追加しようとしていますが、これはC#コードを記述したものです。後で私はそれをJsonに変換する必要があります。genericリストに追加するときにデータを書式設定する方法

ここにコードがあります。

List<string> dataFromDataTable = new List<string>(); 

for (int r = 0; r < employees.Rows.Count; r++) 
{ 
    dataFromDataTable.Add("{".ToString()); 
    for (int c = 0; c < employees.Columns.Count; c++) 
    { 
     dataFromDataTable.Add(employees.Rows[r][c].ToString()); 
    } 
    dataFromDataTable.Add("}".ToString()); 
} 

ここに私のjsonコードです。

var serializer = new JavaScriptSerializer(); 
var json = serializer.Serialize(sample); 

現在、私はjsonのようになっています。

["John Doe","Fresno","Billy","Fresno","Tom","Kern","King Smith","Kings"] 

私は

["John Doe","Fresno"],["Billy","Fresno"],["Tom","Kern"],["King Smith","Kings"]] 

どのようにディit.Thanks

+0

に役立ちますか? –

+0

@IvanStoevこれは、 'dataFromDataTable' – Lara

+0

にあるデータ、すなわち、" {"、" John Doe "、" Freshno "、"} "のようなもので' List 'のデータを含んでいます –

答えて

1
var data = employees.AsEnumerable().Select(x => x.ItemArray).ToList(); 
var serializer = new JavaScriptSerializer(); 
var json = serializer.Serialize(data); 

希望は、これは `sample`変数を含まない何

+0

は、ソリューションを実装しようとしましたが、 'public listで割り当て中にエラーが発生しました。 tabledata {get;セット; } '' tabledata'を割り当てる必要がありますが、 '暗黙的にエラーを変換することはできません。 'それを解決する方法 – Lara

+0

@ララ私のことについては、それはまだ同じ概念です:3と最初の答え – Sherlock

0

のようにそれを必要とするのに対し、私は通常、このようにそれを行うだろう:

var list = employees.AsEnumerable().Select(row => 
      new 
      { 
       FirstName = row.Field<string>("FirstName"), // Column name was not specified please change this 
       LastName = row.Field<string>("LastName") // As well as this column 
      }).ToList(); 

var serializer = new JavaScriptSerializer(); 
var json = serializer.Serialize(list); 

テイクノート、それが最善ですオブジェクトにキーを追加するように練習してください。例ではFirstNameLastNameが追加されています。

関連する問題