2013-03-30 2 views
1

У меня есть такие Json:десериализация Json с пронумерованными ключами в ServiceStack

{ 
    data:{ 
    "50":{"id":"50","name":"test", etc...}, 
    "51":{"id":"51","name":"test", etc...}, 
    "53":{"id":"53","name":"test", etc...}, 
    ... 
    } 
} 

Что такое правильный способ десериализации это JSon?

[ОБНОВЛЕНО]

Я думаю, что я должен отрегулировать свой вопрос. Возможно ли разобрать Json, используя класс с описанием объектов. Например. У меня есть такой класс и JSon, которые я анализирую с .FromJson():

public class Data 
{ 
    public ... 
} 

public class Category 
{ 
    public int Id{get;set;} 

    public string Name{get;set;} 
} 

Что должно быть вместо трех точек?

+0

Что вас означает «правильный»? Что случилось с JavaScriptSerializer.Deserialize? – bmm6o

+0

См. Обновления – dublicator

ответ

3

Ваш json содержит объект O. Этот объект имеет член data, который является словарем из строк или целых объектов в категории. Так что попробовать что-то вроде:

class Root 
{ 
    public Dictionary<int, Category> data; 
} 

var o = JavaScriptSerializer.Deserialize<Root>(json); 
2

Если вы используете servicestack.text вобще

уаг V = myJson.FromJson();

Не забывайте, что сервисная служба лучше всего использовать, когда сериализация также производится с помощью сервисной программы.

0

лучший способ десериализации объект JSON в C# класса в проекте Json.NET (находится на CodePlex)

пример Deserialize является:

JsonConvert.DeserializeObject<Category>(jsonString); 
Смежные вопросы