使用 json.net 列出到 JSON 对象

本文关键字:JSON 对象 json net 使用 | 更新日期: 2023-09-27 18:19:48

我正在使用 json.net 将货币汇率转换为json。

C# 实体获得一个名称和一个值,其中名称是美元、英镑等,值是货币汇率。

我不知道不同货币的索引,所以在 javascript 中,我想通过说var a = obj["USD"];遍历数组并找到array[i].name == "USD"来获取货币。JsonConvert.SerializeObject(currencyList);的默认输出为:

[
    {"name": "one",   "pId": "foo1", "cId": "bar1"},
    {"name": "two",   "pId": "foo2", "cId": "bar2"},
    {"name": "three", "pId": "foo3", "cId": "bar3"}
]

但是,我想要这样的东西:

{
    "one":   {"pId": "foo1", "cId": "bar1"},
    "two":   {"pId": "foo2", "cId": "bar2"},
    "three": {"pId": "foo3", "cId": "bar3"}
}

这是否可以用 json.net 实现,或者我需要编写自己的解析器?

使用 json.net 列出到 JSON 对象

你必须创建一个字典:

Dictionary<String, DataType> dictionary = list.ToDictionary(d => d.name);

DataType替换为实体的类型。

然后,您可以使用 json 序列化字典。