2012-06-05 19 views
0

我需要返回從JSON格式的MS SQL 2008表中選擇的名稱和電子郵件。這是我到目前爲止:如何從JSON格式的ASP.NET返回名稱和電子郵件

public class RaumHelper 
{ 
    internal static string[] Raum() 
    { 
     List<string> raumObject = new List<string>(); 

     using (SqlConnection con = new SqlConnection(@"Data Source=Localhost\SQLEXPRESS;Initial Catalog=BOOK-IT-V2;Integrated Security=true;")) 
     using (SqlCommand cmd = new SqlCommand(@"SELECT NAME, EMAIL FROM RAUM", con)) 
     { 
      con.Open(); 
      using (SqlDataReader rdr = cmd.ExecuteReader()) 
      { 
       while (rdr.Read()) 
       { 
        if (rdr["NAME"] != DBNull.Value && rdr["EMAIL"] != DBNull.Value) 
        { 
         raumObject.Add(rdr["NAME"].ToString()); 
         raumObject.Add(rdr["EMAIL"].ToString()); 
        } 
       } 
      } 
     } 
     return raumObject.ToArray(); 
    } 
} 

我想返回它在json格式不是數組。

它應該是這樣的或類似的:

{"d":[{ 
    "Name": "Hans", 
    "Email": "[email protected]" 
    }]} 

回答

4

您JavaScriptSerializer類列表對象轉換成JSON格式

string JSonString = new JavaScriptSerializer().Serialize(raumObject).ToString() 
+0

如何設置一鍵我的結果?名稱:漢斯 –

2

使用JavascriptSerializer序列化功能或其他串行像Json.NET

編輯:

JavascriptSerializer

new JavascriptSerializer().Serialize(new{d=raumObject.ToArray()}); 

編輯2:

要對你的價值觀鍵沒有你的值存儲在一個列表:

internal static string[] Raum() 
{ 
    List<object> raumObject = new List<object>(); 

    using (SqlConnection con = new SqlConnection(@"Data Source=Localhost\SQLEXPRESS;Initial Catalog=BOOK-IT-V2;Integrated Security=true;")) 
    using (SqlCommand cmd = new SqlCommand(@"SELECT NAME, EMAIL FROM RAUM", con)) 
    { 
     con.Open(); 
     using (SqlDataReader rdr = cmd.ExecuteReader()) 
     { 
      while (rdr.Read()) 
      { 
       if (rdr["NAME"] != DBNull.Value && rdr["EMAIL"] != DBNull.Value) 
       { 
        raumObject.Add(new{ 
         Name=rdr["NAME"].ToString(), 
         Email=rdr["EMAIL"].ToString() 
        }); 
       } 
      } 
     } 
    } 

    return new JavaScriptSerializer().Serialize(new{d=raumObject.ToArray()}); 
} 
+0

你能給我一個例子 –

+0

但我怎麼能給一個關鍵的價值? –

相關問題