Примените пользовательское форматирование к каждому свойству JSON - PullRequest
0 голосов
/ 02 июля 2018

Применяет ли поддержка ChoJSONWriter или Newtonsoft индивидуальное форматирование к каждому свойству JSON. После извлечения моих данных из источника данных я хотел бы применить следующий формат к каждой записи JSON.

{
  "Place": "{0}",
  "SkuNumber": "SKU_{1}"
}

Я могу сделать это вручную, просматривая каждую запись и применяя String.Format, но я не хочу изобретать велосипед.

1 Ответ

0 голосов
/ 02 июля 2018

Вот как вы можете добавить пользовательский формат для каждого члена, используя Cinchoo ETL

Динамический подход:

StringBuilder sb = new StringBuilder();

using (var w = new ChoJSONWriter(sb)
    .WithField("Place")
    .WithField("SkuNumber", valueConverter: (o) => String.Format("SKU_{0}", o.ToNString()))
    )
{
    dynamic o1 = new ExpandoObject();
    o1.Place = 1;
    o1.SkuNumber = 100;

    w.Write(o1);
}

Console.WriteLine(sb.ToString());

ПОКО:

public class PlaceObj
{
    public string Place { get; set; }
    public int SkuNumber { get; set; }
}

Подход POCO:

StringBuilder sb = new StringBuilder();

using (var w = new ChoJSONWriter<PlaceObj>(sb)
    .WithField(m => m.SkuNumber, valueConverter: (o) => String.Format("SKU_{0}", o.ToNString()))
)
{
    PlaceObj o1 = new PlaceObj();
    o1.Place = "1";
    o1.SkuNumber = 100;

    w.Write(o1);
}

Console.WriteLine(sb.ToString());
...