2014-10-23 3 views
0

Как разобрать ответ JSON в виде (?):Json реакция с несколькими таблицами

www.extradelar.se/match

Если я понимаю этот ответ правильно, его массив из трех ответов , как его разобрать в этом случае? Как я дезертировал это в свой RootObject?

+0

То, что у вас есть, недействительно JSON. Вы не закрываете последний объект или последний массив. Если бы вы заменили последний ']' на '}]]' (чтобы сделать его хорошо сформированным JSON), тогда у вас будет массив из 3 массивов, где каждый отдельный массив содержит один объект. – carlosfigueira

+0

Извините, я отрезал JSON от многих переменных. Но считайте это действительным, с правильными скобками. В принципе, мне интересно, как мне десериализовать массивы? – user3581054

ответ

0

Я не уверен, что его из-за копирование вставки, но JSON при условии, действительно не было:

Использования http://jsonlint.com/ вы можете проверить отступ вашего JSON:

После отступа, то проще смотреть на ,

Вышеуказанный JSON - массив массива, в котором каждый содержит объект.

Это немного странно для обычного JSON, но, возможно, у вас есть свои причины.

Используя библиотеки, такие как JSON.net, вы можете легко разобрать эти данные на объекты C#.

Надеется, что это помогает


EDIT:

ПОКО Класс:

public class RootObject 
{ 
    public string match_id { get; set; } 
    public string no_repick { get; set; } 
    public string no_agi { get; set; } 
    public string drp_itm { get; set; } 
    public string no_timer { get; set; } 
    public string rev_hs { get; set; } 
    public string no_swap { get; set; } 
    public string no_int { get; set; } 
    public string alt_pick { get; set; } 
    public string veto { get; set; } 
    public string shuf { get; set; } 
    public string no_str { get; set; } 
    public string no_pups { get; set; } 
    public string dup_h { get; set; } 
    public string ap { get; set; } 
    public string br { get; set; } 
    public string em { get; set; } 
    public string cas { get; set; } 
    public string rs { get; set; } 
    public string nl { get; set; } 
    public string officl { get; set; } 
    public string no_stats { get; set; } 
    public string ab { get; set; } 
    public string hardcore { get; set; } 
    public string dev_heroes { get; set; } 
    public string verified_only { get; set; } 
    public string gated { get; set; } 
} 

JSON.NET

private string getMatchId() 
{ 
    using (var webClient = new System.Net.WebClient()) 
    { 
     const string url = @"http://www.extradelar.se/match"; 
     var json = webClient.DownloadString(url); 
     var matchen = JsonConvert.DeserializeObject<List<List<RootObject>>>(json); 
     var matchId = matchen[0][0].match_id; 

     return matchId; 
    } 
} 
+0

Извините за неправильный JSON, heres полный ответ: http://extradelar.se/match – user3581054

+0

@ user3581054 ok, мой ответ остается таким же, если вам не нужно, чтобы я что-то расширял? – meda

+0

Извините, но я не могу найти документацию о синтаксических анализах массивов :) – user3581054

Смежные вопросы