2016-06-17 3 views
-1

Я создал веб-службу для получения данных с Android json.Как десериализовать Вложенный json службы wcf для объекта

JSON я получаю это:

{ 
"assignmentId":"5476", 
"newProductName":"ALGOBOX NET USB", 
"Attributes": { 
"Ammyy": "fvhbhgfc", 
"Database": "h j j i i ", 
"Plan": "555555555" 
} 
} 

Я десериализацию JSON и хотя я сумел десериализацию корневых элементов не могу десериализации вложенный:

"Attributes": { 
"Ammyy": "fvhbhgfc", 
"Database": "h j j i i ", 
"Plan": "555555555" 
} 

Проблема заключается в том, что атрибуты должны быть динамическими (Ammmy, Database и т. д.), поэтому я не могу создать класс с этими строками. Я хочу десериализовать вложенный объект на словарь или KeyValuePair.

Классы, которые я создал следующие:

public class RequestDataNewProduct 
{ 
    public string assignmentId { get; set; } 
    public string newProductName { get; set; } 
    public List<Atts> Attributes { get; set; } 
} 


public class Atts 
{ 
    public List<KeyValuePair<string, string>> Attributes { get; set; } 
} 

Любая помощь?

ответ

0

С # напечатал эквивалент для JSON должен выглядеть -

public class Attributes 
{ 
    public string Ammyy { get; set; } 
    public string Database { get; set; } 
    public string Plan { get; set; } 
} 

public class RequestDataNewProduct 
{ 
    public string assignmentId { get; set; } 
    public string newProductName { get; set; } 
    public Attributes Attributes { get; set; } 
} 

Тогда просто десериализации это -

var t = JsonConvert.DeserializeObject<RequestDataNewProduct>(json); //success 
Console.WriteLine(t.Attributes.Ammyy); //fvhbhgfc 
+0

Проблема заключается в том, что может атрибуты быть Ammyy, базы данных, план на данный момент, но может измениться в любое время. Я хочу, чтобы динамический класс читал любую строку –

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