Преобразование динамического csv в json, содержащего List <string> C#

Я хочу сериализовать список строк на C#? Ранее я успешно использовал библиотеку с открытым исходным кодом Cinchoo ETL для аналогичных задач, но я застрял в этом конкретном сценарии. Я не хочу использовать POCO, поскольку моя исходная структура данных динамическая. Я бы предпочел читать данные из csv и сериализовать их.

Мои исходные данные в формате csv:

id,name,friends/0,friends/1
1,Tom,Dick,Harry

Обязательный вывод JSON - {"id":1,"name":"Tom","friends":["Dick","Harry"]}

1 ответ

Решение

Вот и все, вы можете использовать Cinchoo ETL, как показано ниже.

string csv = @"id,name,friends/0,friends/1
1,Tom,Dick,Harry";

StringBuilder json = new StringBuilder();
using (var w = new ChoJSONWriter(json)
    .Configure(c => c.SupportMultipleContent = true)
    .Configure(c => c.SingleElement = true)
    )
{
    using (var r = ChoCSVReader.LoadText(csv).WithFirstLineHeader()
        .Configure(c => c.AutoArrayDiscovery = true)
        .Configure(c => c.ArrayIndexSeparator = '/')
        )
        w.Write(r);
}
Console.WriteLine(json.ToString());

Выход:

{
 "id": "1",
 "name": "Tom",
 "friends": [
  "Dick",
  "Harry"
 ]
}
Другие вопросы по тегам