Десериализация массива JSON в словарь - PullRequest
0 голосов
/ 20 января 2020

Моя ASP. NET программа получает следующую строку JSON:

{
    "key1" : "value1"
    "fileName" : [
        "filename1.docx",
        "filename2.xlsx"
    ]
}

Я пытаюсь десериализовать строку JSON с этой строкой

var values = JsonConvert.DeserializeObject<Dictionary<String, List<String>>>(json)

Но я получаю эту ошибку

Error Converting value "key1" to type 'System.Collections.Generic.List'

Любое решение?

Ответы [ 2 ]

3 голосов
/ 20 января 2020

Создайте класс, подобный этому

public class RootObject
{
    public string key1 { get; set; }
    public List<string> fileName { get; set; }
}

и измените Dictionary<String, List<String>> на RootObject

var values = JsonConvert.DeserializeObject<RootObject>(json);
0 голосов
/ 20 января 2020

Просто повторяя ответ @ phantasm:

Неверный JSON. Это пропущенная запятая. Ниже приведен правильный JSON.

{
    "key1" : "value1",
    "fileName" : [
        "filename1.docx",
        "filename2.xlsx"
    ]
}
...