JSON字符串被切断

Mor*_*idt 5 c# json asp.net-core-mvc asp.net-core

我的应用程序是ASP.NET Core 1.0 Web API。

如果我的控制器返回一个小的JSON,则一切正常。但是,如果JSON变大,则会出现此错误

Visual Studio给我这个错误

这是创建数据的控制器和方法(简称)

  [HttpGet]
  public async Task<IActionResult> GetUserData()
  {        
        return this.Ok(GetSomeData());
  }

   private List<MyUser> GetSomeData()
   {
       var userList = new List<MyUser>();
       for (int i = 0; i < 2500; i++)
       {
            userList.Add(new MyUser{
                Name = "Data",
                Age = i,
                Phone = "000",
            });
       }
       return userList;
   }
Run Code Online (Sandbox Code Playgroud)

如果循环变大,则Iam会收到上面列出的错误。

请记住,代码是极其简化的。但是一切正常,直到返回大量数据。

我曾试图改变maxJsonLengthweb.config,因为它是描述在这里

Jin*_*ish 0

请注意,使用 Web api 和 json 可以传输的数据量是有限的。但一种奇怪的方法可能是返回序列化为 json 的文本/纯数据。

因此,如果你改变了你的GetUserData()行动:

[HttpGet]
public async Task<HttpResponseMessage> GetUserData()
{     
   var result = GetSomeData();
   var response = Request.CreateResponse();
   response.Content = new StringContent(JsonConvert.SerializeObject(result));
   return response;
}
Run Code Online (Sandbox Code Playgroud)

然后在你的客户端中,你可以使用JsonConvert.DeserializeObject方法构造你的对象。