我正在测试json.net。我想使用它的linq-to-json语法从函数[WebMethod]返回json,但是我收到了错误。
例如,如果我在
背后的代码中使用[WebMethod, ScriptMethod(UseHttpGet = true)]
public static JObject GetStuff() {
return new JProperty("string", "value");
}
通过以下javascript调用:
PageMethods.GetStuff(/* parameters */, function(data) {
// do stuff with data
});
我收到错误“无法访问Newtonsoft.Json.Linq.JValue上的子值”。
我应该返回什么来确保我的javascript数据对象被JSON填充?
答案 0 :(得分:1)
为什么不简单地返回对象并将JSON序列化留给底层基础架构:
public class MyModel
{
public string Value { get; set; }
}
并在您的网络方法中:
[WebMethod, ScriptMethod(UseHttpGet = true)]
public static MyModel GetStuff() {
return new MyModel {
Value = "some value"
};
}