我有一个以以下格式创建的Jobject类型的庞大数据集
{
"key_1": {"id":"1", "name":"some1", ....},
"key_2": {"id":"", "name":"some2", .....}
}
我使用以下代码创建了这样的对象结构:
JObject res = new JObject();
JObject jo = new JObject();
jo.Add("id", "1");
jo.Add("name", "some1");
res.Add("key_1", jo);
等等;
我有一个网络服务方法,它的返回类型对象和属性为 [
WebMethod][ScriptMethod(ResponseFormat = ResponseFormat.Json(]
如何在 AJAX 请求中将此数据作为对象返回。我试过
res。ToObject<(object(>((//由于 html 对象标签,在对象周围添加了大括号,但它在客户端返回空数组集合,但我的期望是获得如上所述的结果(一个正确的对象(。我应该如何返回 res 以获得所需的 json 输出
已编辑 - 谢谢布莱恩
你可以做的事情和你应该做的事情是有区别的......
退回您的 JObjects 的正确方法取决于您......创建代表它们的真实对象...创建可序列化的键/值对...
您不想做的只是将 JSON 写到响应中...... 但是,既然这实际上是您的要求...这是您将如何做到这一点。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetObject()
{
string json = GetJsonFromDatabase();
HttpContext.Current.Response.Write(json);
}
请注意,您的方法必须返回 void,并且您将 json 直接写入响应流。 超级脏...超级丑...请不要这样做。 您还必须手动将其转换为js端的对象。