gpt4 book ai didi

c# - 如何读取包含用户定义类的对象数组的 JSON 响应?

转载 作者:行者123 更新时间:2023-12-02 17:36:36 25 4
gpt4 key购买 nike

我正在开发一个 ASP.NET WebForms 网站,该网站使用 JQuery 从 ASP.NET ASSX 处理程序获取一些数据。该数据是用户定义的类的对象数组。 Handler的代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
using WRG_2._1.WRGCore;

namespace WRG_2._1.Handlers
{
/// <summary>
/// Summary description for ResponseFetcher
/// </summary>
public class ResponseFetcher : IHttpHandler, System.Web.SessionState.IReadOnlySessionState
{
public void ProcessRequest(HttpContext context)
{
List<Topic> comments = new List<Topic>() {
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },
new Topic(){ Title=DateTime.Now.ToString() +":"+ DateTime.Now.Millisecond },

};
JavaScriptSerializer jss = new JavaScriptSerializer();
string sJSON = jss.Serialize(comments);
context.Response.Write(sJSON);
}

public bool IsReusable
{
get
{
return false;
}
}

}
}

我正在像这样从 JQuery Ajax 获取数据:

$(document).ready(function () {
var url = '/Handlers/ResponseFetcher.ashx';
$.ajax({
url: url,
type: "POST",
data:
JSON.stringify({ val1: 2, val2: 3 })
,
dataType: "json",
cache: true,
beforeSend: function () {
now = (new Date()).getTime();
if (localCache.exist(url)) {
tDiff = now - cacheTime;
if (tDiff < 20000) {
loadData(localCache.get(url));
return false;
}
}
return true;
},
complete: function (jqXHR, textStatus) {
localCache.set(url, jqXHR, loadData);
}
});

});

function loadData(data) {
console.log(data);
$(data.responseJSON).each(function (i) {

$('#responsecontainer').html = data.responseJSON[i].Title;
});
}

函数loadData()正在完美地获取数据。但它没有将其添加到 #responsecontainer div 中。请帮忙!

请注意,Topic 类也可以有 null 变量。

最佳答案

jQuery 的 .html 是一种方法。您可以通过将新值作为参数传递来将其用作 setter :

$('#responsecontainer').html(data.responseJSON[i].Title);

但这会用 data.reponseJSON 对象中的每个 .Title 迭代填充 #responsecontainer,每个 .Title 都会替换最后一个 .Title,因此您只能看到最后一个 .Title。您可能想要附加:

$('#responsecontainer').append(data.responseJSON[i].Title);

关于c# - 如何读取包含用户定义类的对象数组的 JSON 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22577377/

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