JavaScriptSerializer на JSON, содержащий массив - PullRequest
2 голосов
/ 22 мая 2011

У меня есть строка JSON, подобная этой:

{
    "letterstats":[
        {"time_taken":636,"mistake_letters":"","the_letter":"L","success":true},
        {"time_taken":216,"mistake_letters":"","the_letter":"U","success":true},
        {"time_taken":103,"mistake_letters":"","the_letter":"I","success":true}
    ],
    "word":"TEST"
}

Я пытаюсь использовать JavaScriptSerializer для анализа этого, но у меня возникла проблема. Вот код C #, который я использую, чтобы попытаться разобрать это:

public class wordStats
{
    public string word { get; set; }
    List<letterStats> letterstats { get; set; }
    public wordStats() { letterstats = new List<letterStats>(); }
}

public class letterStats
{
    public int time_taken { get; set; }
    public string mistake_letters { get; set; }
    public string the_letter { get; set; }
    public bool success { get; set; }
}

JavaScriptSerializer ser = new JavaScriptSerializer();
wordStats ws = ser.Deserialize<wordStats>(jsonObj);

Он разбирает слово "отлично" ("ТЕСТ"), но не разбирает массив. Я не уверен, что происходит, и я ссылаюсь на этот , чтобы заставить его работать. Кто-нибудь имеет представление о том, что идет не так? Спасибо

1 Ответ

3 голосов
/ 22 мая 2011

Свойство letterstats является частным.

public class wordStats
{
    public string word { get; set; }
    public List<letterStats> letterstats { get; set; }
}
...