C#: Как вы строите полуструктурированные объекты, аналогичные JSON?

Я хочу перебрать 2D-массив contents[,] и создайте JSON-подобный объект для этого. Структура как ниже. Затем он будет отправлен на конечную точку сервера, обработан серверной функцией и сохранен в базе данных.

В JavaScript это было бы просто, но это потому, что типизация динамическая. Насколько я могу судить, у меня есть два варианта построения полуструктурированных данных в C#:

  1. Создайте модель, как упомянуто здесь: Преобразование объекта C# в объект Json, а затем преобразование в формат JSON
  2. Создайте вложенную хеш-таблицу (не словарь, потому что я не буду знать типы значений, пока мне не понадобится построить объект)

Каков нормальный способ сделать это в 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
]

1 ответ

Решение

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

class MyObject
{
    String Tablename;
    List<Field> myFields = new List<Field>();
    List<object> values = new List<object>();
}

Или вы можете просто создать объект Json напрямую и проанализировать его, если вам нужно получить какие-либо дополнительные данные.

Другие вопросы по тегам