【发布时间】:2021-04-28 20:23:03
【问题描述】:
请告诉我。如何在 JsonResult 中取回这些数据? 2个小时我都想不通。 我的任务: 我需要获取这些数据,将其返回给 JsonResult 并在 ajax 中处理它。任何提示我都会很高兴
public async Task<JsonResult> PostsPartial()
{
var client = new RestClient($"https://jsonplaceholder.typicode.com/posts");
var request = new RestRequest(Method.GET);
IRestResponse response = await client.ExecuteAsync(request);
var postsData = JsonConvert.DeserializeObject<JToken>(response.Content);
return Json(postsData);
}
【问题讨论】:
-
为什么要返回一个 JToken?您在此处显示的代码到底有什么问题?
-
您使用的是什么版本的 asp.net-core? asp.net-core 3.1 及更高版本使用 system.text.json 而不是 json.net 作为其 JSON 序列化程序。所以你可以 1) 切换到
System.Text.Json进行序列化。 2) 恢复到 Newtonsoft,如Where did IMvcBuilder AddJsonOptions go in .Net Core 3.0? 所示。 3) 编写一个自定义转换器,将 Newtonsoft 转换为 System.Text.Json,如How can I serialize a Newtonsoft JToken to JSON using System.Text.Json? 所示。 -
尝试在PostsPartial方法中设置断点,然后一步步调试你的代码,检查PostsPartial是否执行,响应数据是否正确?除了尝试使用 F12 开发者控制台工具检查是否有任何错误。
标签: c# asp.net json .net asp.net-core