2014-09-16 2 views
0

VS AppBuilder 확장을 사용하여 개발 한 검도 모바일 응용 프로그램이 있습니다. WCF 서비스를 만들었습니다. 이 서비스를 사용하여 검도 차트로 데이터를 바인딩합니다. 여기 내 WCF 서비스 코드가 있습니다.WCF 서비스 결과를 조작하는 방법은 무엇입니까?

public List<object> ProductCount(int week, int year) 
    { 
     List<object> lst = new List<object>(); 
     DataSet ds = new DataSet(); 
     DataTable dt = new DataTable(); 
     SqlConnection con = new SqlConnection(connString); 
     var currentCulture = CultureInfo.CurrentCulture; 
     var weekNo = currentCulture.Calendar.GetWeekOfYear(
         DateTime.Now.Date, 
         currentCulture.DateTimeFormat.CalendarWeekRule, 
         currentCulture.DateTimeFormat.FirstDayOfWeek); 
     try 
     { 
      SqlCommand cmd = new SqlCommand("Select * from Products where Week_Number =" + week_No); 
      cmd.CommandType = CommandType.Text; 
      cmd.Connection = con; 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 
      da.Fill(dt); 
      foreach (DataRow dr in dt.Rows) 
      { 
       lst.Add(dr["Quantity"].ToString()); 
      } 
      int current = lst.Sum(x => Convert.ToInt32(x)); //result is 5000 
      int goal = 10000; 
      lst.Clear(); 
      dt.Clear(); 
      lst.Add("current:" + current); 
      lst.Add("target:" + goal); 
     } 
     catch (Exception ex) 
     { 
      // new Error(ex); 
     } 
     finally 
     { 
      con.Close(); 
     } 
     return lst; 
    } 

수익률은 다음과 같이 결과이 코드는, [ "현재 : 5000", "대상 : 만"]

는하지만 내가 원하는 같은 내 결과, [{ "현재의"5000 " 목표 ": 10000}]

어떻게하면됩니까?

+0

JSON으로 결과를 직렬화 하시겠습니까? –

+0

'Dictionary '또는 [Ordered dictionary] (http://msdn.microsoft.com/en-us/library/system.collections.specialized.ordereddictionary (v = vs.110) .aspx)로 전환 – asawyer

+0

json serializer를 추가하면 다음과 같은 결과가 나타납니다. "[\"current : 5000 \ ", \"target : 10000 \ "]"그러나 이렇게하고 싶습니다. [{ "current": 5000, "target": 10000}] – Arpita

답변

0

는 당신이 시도 :

lst.Add(new { 
    current = current, 
    target = goal 
}); 

대신 :

lst.Add("current:" + current); 
lst.Add("target:" + goal); 

currenttarget 특성을 가지고 배열에 객체를 추가합니다.

관련 문제