本文整理汇总了C#中Newtonsoft.Json.JsonWriter.WithWriter方法的典型用法代码示例。如果您正苦于以下问题:C# JsonWriter.WithWriter方法的具体用法?C# JsonWriter.WithWriter怎么用?C# JsonWriter.WithWriter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Newtonsoft.Json.JsonWriter
的用法示例。
在下文中一共展示了JsonWriter.WithWriter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
Entity entity = value as Entity;
if (entity == null)
{
writer.WriteNull();
return;
}
writer.StartObject();
writer
// Write id
.WithWriter(w =>
{
if (string.IsNullOrWhiteSpace(entity.Id) == false)
w.WriteProperty("__id", entity.Id);
})
// Write created by
.WriteProperty("__createdby", entity.CreatedBy)
// Write properties
.WithWriter(w =>
{
foreach (var property in entity.Properties)
w.WriteProperty(property.Key, property.Value);
})
.WithWriter( w => WriteJson(entity, w, serializer) )
.WithWriter(w =>
{
var attr = entity.Attributes.ToArray();
if (attr.Length > 0)
{
w.WriteProperty("__attributes")
.StartObject();
// Write attributes
for (int i = 0; i < attr.Length; i++)
w.WriteProperty(attr[i].Key, attr[i].Value);
w.EndObject();
}
})
.WithWriter(w =>
{
if (entity.Tags.Count() > 0)
w.WriteArray("__tags", entity.Tags);
});
writer.EndObject();
}