2013-08-08 2 views
-1

У меня есть три словаря:Как преобразовать три словаря, которые связаны друг с другом в файл JSON?

  1. Проекты

  2. сезоны

  3. Эпизоды

Каждый проект имеет список сезонов и каждый сезон может иметь один или несколько эпизодов ,

Это в основном дерево. Это то, что предоставит API.

Я не знаю, как это сделать, но я думал, что-то вроде этого:

public class ProjectList 
{ 
    public List<Project> Projects 
    { 
     get; 
     set; 
    } 
} 

public class Project 
{ 
    public string ProjectTitle 
    { 
     get; 
     set; 
    } 

    public string ProjectLink 
    { 
     get; 
     set; 
    } 

    public List<Season> Seasons 
    { 
     get; 
     set; 
    } 
} 

public class Seasons 
{ 
    public string SeasonTitle 
    { 
     get; 
     set; 
    } 

    public string SeasonLink 
    { 
     get; 
     set; 
    } 

    public List<Episodes> Episodes 
    { 
     get; 
     set; 
    } 
} 

public class Episodes 
{ 
    public string EpisodeTitle 
    { 
     get; 
     set; 
    } 

    public string EpisodeLink 
    { 
     get; 
     set; 
    } 
} 

Есть ли более простой способ сделать это? Как я могу это сделать?

ответ

2

Это совершенно нормально и, вероятно, самый прямой и распространенный способ отображения данных с этими отношениями. Если вы используете json.NET, преобразование его в json так же просто;

string responseBody = JsonConvert.SerializeObject(ProjectListInstance); 

Серийный номер по умолчанию будет обрабатывать все, чтобы вы возвращали полный комплексный объект. JsonConvert находится в пространстве имен Newtonsoft.Json и является лучшим инструментом для сериализации и десериализации json в C#.

+0

Кроме того, если вам не нравится синтаксис объявления длинных свойств, попробуйте синтаксис «автоматически реализованных свойств» C#, подробно описанный здесь: http://msdn.microsoft.com/en-us/library/bb384054.aspx – Katana314

+0

Что касается .NET 4.5, встроенные библиотеки, вероятно, являются более удобным выбором. – millimoose

+0

@ Katana314 OP уже использует их. – millimoose

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