Я хочу выполнить итерацию через 2D-массив contents[,]
и создать подобный JSON-объект. Структура подобна приведенной ниже. Затем он будет отправлен на конечную точку сервера, обработанной серверной функцией и сохраненной в базе данных.C#: Как вы строите полуструктурированные объекты, аналогичные JSON?
В JavaScript это было бы просто, но это потому, что типизация является динамической. Насколько я могу сказать, у меня есть два варианта для создания СЭМ-структурированных данных в C#:
- Создать модель, как указано здесь: Convert C# Object to Json Object, а затем конвертировать в формат JSON
- Создайте вложенную Hashtable (не потому что я не буду знать типы значений до тех пор, пока мне не понадобится построить объект)
Каков нормальный способ сделать это на C#? Я также натолкнулся на термин «POCO», который, кажется, несколько соответствует пункту 1.?
[
{
tableName: someName,
fields: [ordered, list, of, field, names],
values: [
[ordered, list, of, cell, row, values],
[ordered, list, of, cell, row, values],
[ordered, list, of, cell, row, values]
]
},
{
tableName: someName,
fields: [ordered, list, of, field, names],
values: [
[ordered, list, of, cell, row, values],
[ordered, list, of, cell, row, values],
[ordered, list, of, cell, row, values]
]
},
etc
]
C# имеет динамические типы: https://msdn.microsoft.com/en-us/library/dd264736.aspx И библиотека JSON.Net широко используется для управления JSON: http://www.newtonsoft.com/ json (3,120,111 загрузки последней версии через nuget). Что касается того, какой подход лучше всего подходит для вас, я не могу ответить на этот вопрос, поскольку вопрос слишком широк, и я не знаю, какую работу вы делаете, данные, которыми вы пользуетесь, или ваши личные предпочтения. Существует много подходов, которые можно было бы предпринять. – AndyJ
Какая часть структуры динамична? Это выглядит очень структурированным для меня. У вас есть таблица с именем, которое имеет список полей и данные, которые будут помещены в эти поля. Просто ли значения данных являются разными типами? Или я чего-то не хватает? –
Да. Только значения имеют разные типы. –