gpt4 book ai didi

c# - 使用 JSON 解析 C# 字典

转载 作者:太空宇宙 更新时间:2023-11-03 19:27:48 25 4
gpt4 key购买 nike

我正在尝试使用 JSON 从我的 C# 应用程序中检索键/值对字典,但我在某处搞砸了。这是我第一次使用 JSON,所以我可能只是在做一些愚蠢的事情。

C#代码:

        else if (string.Equals(request, "getchat"))
{
string timestamp = DateTime.Now.ToString("yyyy.MM.dd hh:mm:ss");

Dictionary<string, string> data = new Dictionary<string, string>();
data.Add(timestamp, "random message");
data.Add(timestamp, "2nd chat msg");
data.Add(timestamp, "console line!");

return Response.AsJson(data);
}

Javascript:

function getChatData()
{
$.getJSON(dataSource + "?req=getchat", "", function (data)
{
$.each(data, function(key, val)
{
addChatEntry(key, val);
}
});
}

最佳答案

字典没有序列化为数组。此外,字典中的键必须是唯一的,当您尝试运行服务器端代码时,您可能会遇到一个异常,即已插入同名键。尝试使用值数组:

var data = new[]
{
new { key = timestamp, value = "random message" },
new { key = timestamp, value = "2nd chat msg" },
new { key = timestamp, value = "console line!" },
};
return Response.AsJson(data);

序列化后的 json 应该是这样的:

[ 
{ "key":"2011.09.03 15:11:10", "value":"random message" },
{ "key":"2011.09.03 15:11:10", "value":"2nd chat msg" },
{ "key":"2011.09.03 15:11:10", "value":"console line!" }
]

现在在你的 javascript 中你可以循环:

$.getJSON(dataSource, { req: 'getchat' }, function (data) {
$.each(data, function(index, item) {
// use item.key and item.value to access the respective properties
addChatEntry(item.key, item.value);
});
});

关于c# - 使用 JSON 解析 C# 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293256/

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