2015-04-03 3 views
1

Для Geckoboard Я хочу, чтобы генерировать JSON как это:C# класс для конкретного формата JSON/Geckoboard/Trendline виджет

{ 
"item": [ 
    { 
     "value": "274057" 
    }, 
    [ 
     "38594", 
     "39957", 
     "35316", 
     "35913", 
     "36668", 
     "45660", 
     "41949" 
    ] 
    ] 
} 

Я борюсь с отсутствующей собственностью до массива.

Как должен выглядеть класс C# для сериализации?

+0

Посмотрите на свой JSON как XML: http://www.utilities-online.info/xmltojson/#.VR6QAvnF_hk – lcryder

ответ

1

Эти функции отлично подходят для динамических языков, таких как javaScript, но делать это не так просто в C#. Лучше я могу увидеть здесь - все это JSON будет сопоставить следующую структуру класса:

public class RootItem 
{ 
    public IEnumerable<object> Item {get;set;} 
} 

public class ValueItem 
{ 
    public string Value {get;set;} 
} 

И в основном следующий вам потребуется пользовательские правила Serializer или параметр связующего (в зависимости, где вы используете его), который будет принимать это JSON и вручную заполнить коллекцию RootItem.Item с любой коллекцией ValueItem или IEnumerable<string>.

+0

Спасибо. Ваш ответ привел меня к правильному решению. –

0

Вставить ваш JSON в json2csharp, и генерировать соответствующее определение класса для сериализации, что JSON есть:

public class RootObject 
{ 
    public List<object> item { get; set; } 
} 

Json item свойство, определяемое как массив, содержащий смешанный тип данных (сингулярный объект и массив), и один из возможных тип данных для хранения обоих типов в .NET равен object.

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