2016-08-16 4 views
0

У меня есть таблица исходный SQL-сервер определяется как:Преобразование DataTable с вложенным вывода JSON C#

CstCmpCode           Main_Group                 Sub_Group                 ClosBal
AH01                                     шеи Обертывание             АФГАНСКИЙ                          

Мне нужен выход, чтобы быть:

{ 
    "CstCmpCode": "AH01", 
    "Main_Group": "Neck Wraps", 
    "sub_group": [ 
    { 
     "Sub_Group": "AFGHANI", 
     "ClosBal": 7 
    } 
    ] 
} 

У меня есть таблица источника SQL Server импортируемого в DataSet, а затем собирался использовать JSON.NET для анализа результатов. Я думал, что я должен создать какую-то структуру класса с основной_группой, имеющей список пар/парных/значений пары sub_group/closbal, но я не совсем уверен, что это правильный трек или нет.

Спасибо. Yogesh.Sharma

ответ

2

вы можете сделать это напрямую, используя следующий код (с Newtonsoft Json.NET).

string JSONresult; 
JSONresult = JsonConvert.SerializeObject(yourDataTable); 
+0

но моя строка json не обновляется с вложенной строкой json –

+0

В этом случае ваш подход является правильным, для ссылки вы можете использовать эту ссылку. http://stackoverflow.com/questions/15628569/nested-json-from-datatable –

0

Если вам нужен этот вывод, который вы должны иметь класс вроде этого:

public class SubGroup 
{ 
    public string Sub_Group { get; set; } 
    public int ClosBal { get; set; } 
} 

public class RootObject 
{ 
    public string CstCmpCode { get; set; } 
    public string Main_Group { get; set; } 
    public List<SubGroup> sub_group { get; set; } 
} 

An объекты этого класса могут быть сериализованы в формате JSON вы упомянули.

+0

напрямую можно? без применения цикла for для данных datatable –

+0

Исправить. Вам понадобится цикл для чтения из datatable – Mahdi

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