2015-04-14 3 views
-2

У меня есть C# приложение, которое имеет объект, который выглядит следующим образом:объекты сериализации в JSON

public class MyObject 
{ 
    public int Id { get; set; } 
    public int ParentId { get; set; } 
    public string Name { get; set; } 
    ... 
} 

Я тогда получить список объектов, как это:

var myObjects = MyObject.LoadAll(); 

Мне нужно создать объект JSON, который выглядит следующим образом:

{ "1":"James", "2":"Bill", "3":"Andrew" } 

1, 2 и 3 являются значением идентификатора списка MyObject лиц. «Джеймс», «Билл» и «Эндрю» - это значения свойства «Имя» от каждого объекта. Как создать объект JSON таким образом, используя только два свойства?

Спасибо!

+3

Хотя ваш запрошенный JSON действует как JSON, это очень плохой выбор как сериализованный объект (поскольку он вообще не представляет собой сериализованный объект). Любой контроль над тем, что необходимо? –

+0

Попробуйте http://json2csharp.com/ просто скопировать/вставить свой json, и он создаст ваши классы и свойства для вас. –

+1

Вы не должны создавать такой json. –

ответ

1

Для этого вы можете использовать библиотеку linq и Json.Net.

var myObjects = MyObject.LoadAll(); 
var forSerialization = myObjects.ToDictionary(x => x.Id, x => x.Name); 
var json = JsonConvert.SerializeObject(forSerialization); 
Смежные вопросы