将自定义格式应用于每个JSON属性

时间:2018-07-02 01:14:30

标签: c# json.net choetl

ChoJSONWriter或Newtonsoft支持是否将自定义格式应用于每个JSON属性。从数据源中提取数据后,我想将以下格式应用于每个JSON记录。

false

我可以通过遍历每条记录并应用String.Format来手动完成此操作,但是我不想重新发明轮子。

1 个答案:

答案 0 :(得分:0)

这是使用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());

POCO:

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());