在post请求中数据太大导致报500错误。错误提示 JSON 请求太大,无法反序列化。在config中加 <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="214748364...
转载自:https://blog.csdn.net/andy_5826_liu/article/details/92995776
最近使用 ASP.NET 开发一个WebApi程序时遇到的问题,
请求
参数为
json
格式,返回参数也为
json
格式。
控制器的方法接收参数为一个具体类的形参,运行时(post
请求
),asp.net帮我把
json
字符串
反序列化
为我自定义的类对象。但是我发现当post的
请求
json
数据量
太大
时,
反序列化
失败,导致接收到的类对象为null。
解决方法如下:
修改web.config配置两
超大
JSON
文件导入到ES(大于10个G)如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
一般前端将数组数据传给后台接口时,需要转换成
json
。
但如果数据量
太大
,后台接口用String接收前端传过来的
json
数据会为null值。
这种情况下 前台可以将数据转成
json
后放入文件中,后台接口读取传过来的文件内容 然后进行解析。
saveResult() {
var content =
JSON
.stringify(this.resultList);
var blob = new Blob([content], {type : 'text/plain;charset=ut
1、序列化:
以下代码在对象过大时会报错:进行序列化或
反序列化
时出错。字符串的长度超过了为 max
Json
Length 属性设置的值。
//
json
Obj比较大的时候会报错
var serializer = new
Java
ScriptSerializer();
return serializer.Serialize(
json
Obj);
使用Newtonsoft.
Json
也有此问题,解决方案是设置Max
Json
Length:
var serializer = new
Java
ScriptSerialize
如果你想要从
JSON
字符串
反序列化
为
C#
对象,你可以使用 .NET 的 `System.Text.
Json
` 命名空间中的 `
Json
Serializer` 类。你可以这样来
反序列化
JSON
字符串:
```csharp
using System.Text.
Json
;
string
json
String = "{ 'name': 'John', 'age': 30, 'city': 'New York' }";
var per
son
=
Json
Serializer.Deserialize<Per
son
>(
json
String);
其中 `Per
son
` 是你定义的
C#
类,它应该与
JSON
字符串中的键值对对应。
如果你想要获取对象里的指定节点值,你可以这样:
```csharp
string name = per
son
.Name;
int age = per
son
.Age;
string city = per
son
.City;
你也可以使用 `dynamic` 类型来避免手动定义
C#
类,但这会带来一定的运行时成本:
```csharp
dynamic per
son
=
Json
Serializer.Deserialize<dynamic>(
json
String);
string name = per
son
.Name;
int age = per
son
.Age;
string city = per
son
.City;
希望这能帮到你!