2017-01-25 6 views
0

に各項目の名前を追加します。私は、私はすべてのデータを書き込み、オブジェクト[]結果を持っているストアドプロシージャから実行し、それを読むためにSqlDataReaderのリーダーを使用したデータは次のようになります。は、オブジェクトのC#

result: { {[0],[1],[2]},{[0],[1],[2]},{[0],[1],[2]},{[0],[1],[2]},{[0],[1],[2]},{[0],[1],[2]}, ... } 

実際の例は次のようになります{{1,{1/18/2017},20},{2,{1/19/2017},21},{3,{1/20/2017},22}}

各子オブジェクトの各項目にアイテム名を追加してjsonをjavascriptに戻したいと考えています。期待される結果は次のようになります:

result = {{"ID":1, "Date":{1/18/2017},"value":20}, 
      {"ID":2,"Date":{1/19/2017},"value":21}, 
      {"ID":3,"Date":{1/20/2017},"value":22}} 

誰もが正しい方法を知っていますか? LinqtoObjectやラムダなどを使用していますか?

答えて

0

ここに私が示唆しているものがあります。構造体を作成します。

struct MyThing 
{ 
    public int ID { get; set; } 
    public DateTime Date { get; set; } 
    public int Value { get; set; } 
} 

次に、このようなあなたのリストを初期化します。

var input = new List<MyThing>(new[] 
{ 
    new MyThing { ID = 1, Date = DateTime.Parse("1/18/2017"), Value = 20 }, 
    new MyThing { ID = 2, Date = DateTime.Parse("1/19/2017"), Value = 21 }, 
    new MyThing { ID = 3, Date = DateTime.Parse("1/20/2017"), Value = 22 } 
}); 

.NETは、オブジェクト指向言語であり、そのための利点を取る、つまりこの場合には、クラスを作成したり、構造体共通の情報を保持する。

また、配列よりもリストを扱うほうがずっと簡単です。

JSONに変換するためとして、私は専門家ではないんだけど、ここで私は上記のコードのために一緒に投げたものです:

var serializer = new JavaScriptSerializer(); 
string jsonText = serializer.Serialize(input); 

注意、あなたがSystem.Web.Extensionsへの参照を追加する必要があるとusingが追加されます指示:

using System.Web.Script.Serialization; 
+0

OPが手動でオブジェクトを '新規にするのではなく、このプロセスを自動化する方法を求めているようです。 – Michael

関連する問題