2013-11-22 76 views
2

「」「」「」「」「」「」「」「」「」使用JSON JavaScriptSerializer的序列化或反序列化過程中的錯誤使用 。該字符串的長度超過了設置在maxJsonLength屬性上的值 。「,」StackTrace「:」at System.Web.Script.Serialization.JavaScriptSerializer.Serialize(Object obj,StringBuilder output,SerializationFormat serializationFormat)\ r \ ñ在 System.Web.Script.Serialization.JavaScriptSerializer.Serialize(對象 OBJ,SerializationFormat serializationFormat個)\ r \ n在 System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext的 上下文,WebServiceMethodData methodData,IDictionary`2 \ p \ n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext 上下文,WebServiceMethodData methodData )」,‘ExceptionType’:‘System.InvalidOperationException’‘’‘’‘’‘’‘’‘’‘’‘’使用JSON JavaScriptSerializer進行序列化或反序列化時出錯。字符串的長度超過

我嘗試了所有的答案,但現在仍然正在此錯誤請人幫忙。

+0

你真的嘗試過增加maxJsonLength屬性的值嗎? –

+0

https://stackoverflow.com/questions/21109328/ef-to-ajax-string-exceeds-maxjsonlength-with-less-than-250kb/21109329#21109329 關注這個。 它適合我。 –

+0

您可能會看看[字符串的長度超過maxJsonLength屬性中設置的值。在MVC3中](http:// stackoverflow。com/questions/19108743/the-length-of-string-exceed-the-value-set-on-the-maxjsonlength-property-in/35025467#35025467) –

回答

1

請注意,只有在明確創建JavaScriptSerializer類的實例時,纔會應用MaxJsonLength屬性的值。

1

在由fejescoco鏈接的MSDN article中,您必須在您的配置中指定最大長度。

<configuration> 
    <system.web.extensions> 
    <scripting> 
     <webServices> 
     <jsonSerialization maxJsonLength="9001"/> 
     </webServices> 
    </scripting> 
    </system.web.extensions> 
</configuration> 
+0

使用舊式的ASP.Net WebMethod,我有這個錯誤,這是爲我工作的解決方案。 –

0

我們有一個從Web服務返回的json對象。代碼如下

JavaScriptSerializer s = new JavaScriptSerializer(); 
. 
. 
. 
    return s.Serialize(bomDataObject); 

我們有大約5000多行導致上述序列化錯誤。

訪問以下鏈接獲得的最大JSON大小限制的想法:

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer%28v=vs.110%29.aspx

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.maxjsonlength%28v=vs.110%29.aspx

JSON字符串的最大長度。默認值爲2097152個字符,相當於4 MB的Unicode字符串數據。我們將代碼設置爲繼續爲我們的大數據場景工作... ofcourse增加了服務器和網絡上的負載以加載數據,但它是巨大的數據,我們需要將它放大!

JavaScriptSerializer s = new JavaScriptSerializer(); 
s.MaxJsonLength = int.MaxValue; 
. 
. 
. 
. 
. 

return s.Serialize(bomDataObject);. 
相關問題