2015-04-30 2 views
0

Мой DataTable в ниже форматеКак конвертировать DataTable в объект JSON

MCuserid Firsatname степень address1 address2 город educationinfo институт

1760 Риккерт VBN addresstwo Хайдарабад Второй колледж второй степени

1766 Abhinav jhgjkhk testaddress mtech

1766 Abhinav jhgjkhk testaddress BTech

мне нужен выход в следующем формате JSON в C#

[ 

{ 
    "MCUserID" : 1760, 
    "FirstName": "Rickert", 
    "Address1" : "vbn", 
    "Address2" : "address two", 
    "city  : "hyderabad" 
    "EducationInfo": [ 
     { 
      Institute: "Second College", 
      Degree: "Second Degree", 
     } 
] 
}, 
{  
    "MCUserID" : 1766, 
    "FirstName": "Abhinav", 
    "Address1" : "jhgjkhk", 
    "Address2" : " test address", 
    "city  : "" 
    "EducationInfo": [ 
     { 
      Institute: "", 
      Degree: "mtech", 
     }, 
     { 
      Institute: "", 
      Degree: "btech", 
     } 
     ] 

} ]

+0

Возможный дубликат [как преобразовать datatable в json in C#] (http://stackoverflow.com/questions/17398019/how-to-convert-datatable-to-json-in-c-sharp) – Piyush

+0

В этом несколько образовательных деталей, которые я хочу, как выше. Я не нашел в этой ссылке. – vidya

+0

Проверьте http://stackoverflow.com/questions/17398019/how-to-convert-datatable-to-json-in-c-sharp – captainsac

ответ

2

Проблема здесь состоит в том, что каждая строка в DataTable простой набор пар имя/значение, но вы хотите, чтобы каждый person EducationInfo как еще один слой в результате JSON. Кроме того, вы хотите, чтобы несколько строк стали единым объектом JSON, если все поля , ноEducationInfo.

Не будет простого метода «Go()», который сделает это для вас из коробки.

Предлагаю создать классы Student и EducationInfo для хранения информации и объединения данных самостоятельно в массив Student[].

Затем вы просто сериализуете их, используя свой любимый сериализатор. В качестве побочного эффекта это облегчает отладку.

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