gpt4 book ai didi

json - Newtonsoft 作为 jsonResult

转载 作者:行者123 更新时间:2023-12-04 19:56:53 27 4
gpt4 key购买 nike

我有应该返回 json 字符串的 MVC Controller 方法。

public JsonResult myMethod()
{
....
return Json(new { success = true, data = myObject });
}

有用。但是 myObject 的列顺序与定义的不同。
(Json 根据定义返回一组无序的名称/值对)

因此,我使用了 Newtonsoft,并且在我的类里面我定义了排序顺序,例如:
public class myObject{

[JsonProperty(Order = 0)]
public int id { get; set; }

[JsonProperty(Order = 1)]
public string name { get; set; }
}

并且在 MVC Controller 中必须更改方法以返回字符串而不是 JsonResult(我不知道如何使用 newtonsoft 返回 jsonResult)。然后我返回字符串:
return "{ success = true, data = " + Newtonsoft.Json.JsonConvert.SerializeObject(myObject) + "}";

它有效,字符串具有正确的列顺序,但 ajax 方法无法将此字符串识别为 json。那么,最好的解决方案是什么?如何从newtonsoft而不是json字符串返回jsonResult?

最佳答案

你可以这样做,我的例子有异步风格,但概念是一样的

public async Task<JsonResult> GetTareasAsync(int proyectoId)
{
ICollection<Tarea> x = await GetTareasInnerAsync(proyectoId).ConfigureAwait(false);
return Json(x, new Newtonsoft.Json.JsonSerializerSettings() { MaxDepth = 1 });
}

关于json - Newtonsoft 作为 jsonResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33987747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com