c# - 如何使用 JavaScriptSerializer 解析带有数字键的 JSON 对象

标签 c# asp.net .net json javascriptserializer

我有一个如下所示的对象要在 C# 中反序列化。我想知道如何解析它。我尝试遵循 this example here ,但我对如何让我的类识别每个对象的键(下面的 23)感到困惑。

下面的 JSON 字符串基本上代表 2 个交易。我想将每个事务表示转换为事务对象并将其放入事务对象数组中。

{
    "2": {
        "id": "2",
        "user_id": "59",
        "offer_id": "1234"
    },
    "3": {
        "id": "3",
        "user_id": "59",
        "offer_id": "1234"
    }
}

这是我的类(class):

public class Transactions
{
    // what goes here since the "key" field is always different?
}

public class Transaction
{
    public int id { get; set; }
    public int user_id { get; set; }
    public int offer_id { get; set; }
}

最佳答案

可以使用 JSON.Net 库中的 JObject 来完成。

var transactions = JObject.Parse(json).PropertyValues()
                                      .Select(o => o.ToObject<Transaction>());

这应该可以解决问题。

关于c# - 如何使用 JavaScriptSerializer 解析带有数字键的 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26270990/

相关文章:

c# - ReSharper 无法解析符号

c# - WPF - ListView 中的 TextBlock 未水平对齐

c# - MailItem.HtmlBody 引发未实现异常

javascript - ASP.Net 导航选项卡,如 Windows 选项卡控件

java小程序运行本地主机但在发布iis后不运行,作者:asp.net

c# - 在 C# 中触发事件后,我如何做某事?

.net - 为什么要用asp :HyperLink

c# - 使用 peek 或 read 读取一个 2GB 的文件

C# - 如果字符串为空或有空格,则禁用按钮?

c# - 类中的结构是否作为值传递?