перечислить объект json с помощью json.net

Я использую 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, или мне нужно написать свой собственный парсер?


person randoms    schedule 08.01.2012    source источник


Ответы (1)


Вы должны создать словарь:

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

Замените DataType на тип вашей сущности.

Затем вы можете сериализовать словарь с помощью json.

person Yogu    schedule 08.01.2012