Newtonsoft作为jsonResult

时间:2015-11-29 20:33:09

标签: json model-view-controller

我有MVC控制器方法,它应该返回json字符串。

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控制器中必须更改方法以返回字符串而不是JsonResult(我不知道如何使用newtonsoft返回jsonResult)。然后我返回字符串:

return "{ success = true, data = " + Newtonsoft.Json.JsonConvert.SerializeObject(myObject) + "}";

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

1 个答案:

答案 0 :(得分:0)

您可以通过这种方式进行操作,我的示例具有异步风格,但是概念相同

from google.api_core import operations_v1
api = operations_v1.OperationsClient()
name = ...
response = api.get_operation(name)