2014-03-06 4 views
1

SQL 데이터베이스를 사용하여 json 피드를 개발하고 있습니다. 방법 "직원"을 추가하기 위해 나는 위의 코드중첩 된 노드를 만드는 방법 C#

 { 
     "contacts":[ 
     { 
     "username":"raja", 
     "empid":"45" 
     } 
     ] 
     } 

에 대한 응답을 얻었다 위해 JSON 형식 아래에 responce에게

public string ConvertDataTabletoString() 
     { 
      DataTable dt = new DataTable(); 

      SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString()); 
      SqlCommand command = new SqlCommand("select * from table4", connection); 
      SqlDataAdapter da = new SqlDataAdapter(command); 
      da.Fill(dt); 
       JavaScriptSerializer serializer = new JavaScriptSerializer(); 

      List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); 
      Dictionary<string, object> row; 
      foreach (DataRow dr in dt.Rows) 
      { 


       row = new Dictionary<string, object>(); 
       foreach (DataColumn col in dt.Columns) 
       {  
       row.Add(col.ColumnName, dr[col]); 
       } 
       rows.Add(row); 
      } 
      return serializer.Serialize(new { contacts = rows }); 
     } 

를 얻기 위해 코드 아래 내 프로젝트를 사용했지만 내 요구 사항은 형식
이하 내 아들 안에.

{ 
     "contacts":[ 
     { 
     "username":"raja", 
     "employee":{ 
     "empid":"40" 
     } 
     } 
     ] 
     } 

답변

0

내 제안 :

  1. 그냥 foreach (DataRow dr in dt.Rows) {}이 새 (안 참조)이 새로 만든 컬렉션을
  2. 루프에 복제 행 컬렉션에 시도에 맞게 수정 완료 후 필요
  3. 새 컬렉션을 일련 번호로 묶어서 반환하십시오.

희망 하시겠습니까?

관련 문제