2015-07-21 5 views
0

Im пытается создать сериализации строку из этого JSON:C# JSON newtonsoft преобразование

report_details = { 
'reportTypeLang' : 'conversations', 
'reportDirections' : { 
'selected' : 'inbound' 
}, 
'times' : { 
'dateRange' : 'Last5Minutes' 
}, 
'filters' : { 
'sdfDips_0' : 'in_AC10033A_AC10033A-410' 
}, 
'dataGranularity' : { 
'selected' : 'auto' 
} 

до сих пор я создавший эти классы:

public class ReportDetails 
{ 
    public string reportTypeLang { get; set; } 
    public ReportDirections reportDirections { get; set; } 
    public Times times { get; set; } 
    public Filters filters { get; set; } 
    public DataGranularity dataGranularity { get; set; } 
} 
public class ReportDirections 
{ 
    public string selected { get; set; } 
} 
public class Times 
{ 
    public string dateRange { get; set; } 
} 
public class Filters 
{ 
    public string sdfDips_0 { get; set; } 
} 

public class DataGranularity 
{ 
    public string selected { get; set; } 
} 

и пытался использовать этот код для создания данных :

ReportDetails ReportDetails = new ReportDetails(); 
ReportDetails.reportTypeLang = "conversations"; 

ReportDirections reportDirections = new ReportDirections(); 
reportDirections.selected = "inbound"; 

Times Times = new Times(); 
Times.dateRange = "Last5Minutes"; 

Filters Filters = new Filters(); 
Filters.sdfDips_0 = "in_AC10033A_AC10033A-410"; 

DataGranularity DataGranularity = new DataGranularity(); 
DataGranularity.selected = "auto"; 

string report_details = JsonConvert.SerializeObject(ReportDetails); 

, но это только кажется, что в результате этого объекта:

"{\"reportTypeLang\":\"conversations\",\"reportDirections\":null,\"times\":null,\"filters\":null,\"dataGranularity\":null}" 

Как пополнить все разделы в соответствии с оригинальным json?

ответ

3

Вы не назначили другие свойства. Поэтому их сериализованные значения остаются нулевыми.

Просто добавьте их, как вы назначили reportTypeLang:

ReportDirections reportDirections = new ReportDirections(); 
reportDirections.selected = "inbound"; 

ReportDetails ReportDetails = new ReportDetails(); 
ReportDetails.reportTypeLang = "conversations"; 
ReportDetails.reportDirections = reportDirections; // and so with the other props 

И как побочное примечание: есть интересная особенность паста JSON как классы которые autogenerates по необходимым классам для вас, если вы не хотите писать их самостоятельно:

enter image description here

+0

Спасибо работает удовольствие :) –

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