C# 如何使用Json.NET从[WebMethod]返回JArray?

C# 如何使用Json.NET从[WebMethod]返回JArray?,c#,jquery,ajax,json.net,webmethod,C#,Jquery,Ajax,Json.net,Webmethod,是否可以使用jQuery ajax和Json.NET从[WebMethod]返回JArray对象?例如: [WebMethod] public JArray GetJsonData() { JArray jArray = new JArray(); JObject jObject = new JObject(); jObject.Add(new JProperty("name", "value")); jArray.Add(jObject); return

是否可以使用jQuery ajax和Json.NET从
[WebMethod]
返回
JArray
对象?例如:

[WebMethod]
public JArray GetJsonData()
{
    JArray jArray = new JArray();
    JObject jObject = new JObject();
    jObject.Add(new JProperty("name", "value"));
    jArray.Add(jObject);
    return jArray;
}
当我使用jQuery ajax调用它时,它会返回如下内容:


[[[]]]

我认为您需要返回一个字符串

[WebMethod]
public string GetJsonData()
{
    JArray jArray = new JArray();
    JObject jObject = new JObject();
    jObject.Add(new JProperty("name", "value"));
    jArray.Add(jObject);
    return jArray.ToString();
}
我将
$.get()
更改为
$.getJSON()
,将后端更改为:

[HttpGet]
public JArray GetJSON(string id)
{
    JArray items = Populate(id);
    return items;
}

我不想返回字符串的唯一原因是,由于.NET将
.d
属性包装在结果周围,因此我必须在javascript中对其进行解析。虽然这样做可行,但我不喜欢它添加到JSON中的所有空格和回车符。在Postman中查看它,与不返回字符串而得到的正常JSON结构化输出相比,它非常难看。