我正在使用 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 实现,或者我需要编写自己的解析器?
你必须创建一个字典:
Dictionary<String, DataType> dictionary = list.ToDictionary(d => d.name);
将DataType
替换为实体的类型。
然后,您可以使用 json 序列化字典。