2014-11-14 1 views
3

JSON JavaScriptSerializer를 사용하여 직렬화 또는 비 직렬화하는 동안 오류가 발생합니다. 문자열의 길이가 maxJsonLength 속성에 설정된 값을 초과합니다. 나는 가정JSON JavaScriptSerializer를 사용하여 직렬화 또는 비 직렬화하는 동안 오류가 발생합니다.

public string MemberDetail(string Code) 
    { 
     String res = ""; 
     SortedList sd = new SortedList(); 
     sd.Add("@mode", "MemberDetail"); 
     sd.Add("@Code", Code); 
     SqlDataReader dr = erp.GetDataReaderSP("[Demo]", sd); 
     DataTable dt = new DataTable(); 

     dt.Load(dr); 
     Synchr[] obj = new Synchr[dt.Rows.Count]; 
     if (dt.Rows.Count > 0) 
     { 
      for (int i = 0; i < dt.Rows.Count; i++) 
      { 

       obj[i].DemoName = Convert.ToInt32(dt.Rows[i]["Name"].ToString()); 
      } 
     } 

     return new JavaScriptSerializer().Serialize(obj); 
    } 
+0

가능한 중복 http://stackoverflow.com/questions/5692836/maxjsonlength-exception-in-asp-net- : JavaScriptSerializer의 MaxJsonLength을 시도 할 수 있습니다 mvc-during-javascripts erializer) –

답변

9

는 당신이에서 데이터를 얻고있는 웹 서비스입니다, Web.config의 변화의 최대 길이 (당신의 질문은 "웹 서비스"태그가로) :

<configuration> 
    <system.web.extensions> 
     <scripting> 
      <webServices> 
       <jsonSerialization maxJsonLength="50000000"/> 
      </webServices> 
     </scripting> 
    </system.web.extensions> 
</configuration> 

또는 당신을

JavaScriptSerializer serializer = new JavaScriptSerializer(); 
serializer.MaxJsonLength = Int32.MaxValue; 
myObject obj = serializer.Deserialize<yourObject>(yourJsonString); 
[JavaScriptSerializer 동안 ASP.NET MVC에서 MaxJsonLength 예외] (의
+0

괜찮습니다. –

+0

@DenishParvadia 당신은 환영합니다. 그리고 대답으로 표시하는 것을 잊지 않았 으면 좋겠습니다. :) – Zaki

+0

'maxJsonLength'에서 최대 int 값을 하드 코딩하려면'2147483644'가 필요합니다. –

관련 문제