本文整理汇总了C#中Newtonsoft.Json.JsonWriter.WriteArray方法的典型用法代码示例。如果您正苦于以下问题:C# JsonWriter.WriteArray方法的具体用法?C# JsonWriter.WriteArray怎么用?C# JsonWriter.WriteArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Newtonsoft.Json.JsonWriter
的用法示例。
在下文中一共展示了JsonWriter.WriteArray方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var request = value as UpdateListItemsRequest;
if (request == null)
{
writer.WriteNull();
return;
}
/*
"additems" : ["3","4","5"],
"adduniqueitems" : ["1","6"],
"removeitems": ["2","5"]
*/
writer.WriteStartObject();
writer.WritePropertyName(request.Property );
writer.WriteStartObject();
if (request.ItemsToAdd.Count > 0)
{
if (request.AddUniquely == true)
writer.WriteArray("adduniqueitems", request.ItemsToAdd);
else
writer.WriteArray("additems", request.ItemsToAdd);
}
if (request.ItemsToRemove.Count > 0)
writer.WriteArray("removeitems", request.ItemsToRemove);
writer.WriteEndObject();
writer.WriteEndObject();
}
示例2: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var push = value as PushNotification;
if (push == null)
{
writer.WriteNull();
return;
}
writer.StartObject();
// Write push type
if (string.IsNullOrWhiteSpace(push.Query) == false)
writer.WriteProperty("query", push.Query);
else if( push.Channels.Count() > 0 )
writer.WriteArray("channels", push.Channels);
else if( push.DeviceIds.Count() > 0 )
writer.WriteArray("deviceids", push.DeviceIds);
else
writer.WriteProperty("broadcast", true);
// Write data
WriteData(writer, push);
// Write platform options
WritePlatformOptions(writer, push.PlatformOptions);
writer.EndObject();
}
示例3: WriteProperties
private static void WriteProperties(JsonWriter writer, Entity entity, JsonSerializer serializer)
{
foreach (var property in entity.Properties)
{
if (property.Value is NullValue)
{
writer.WritePropertyName(property.Key);
writer.WriteNull();
}
else if (property.Value is MultiValue)
{
var collection = property.Value.GetValues<string>();
writer.WriteArray(property.Key, collection);
}
else
writer.WriteProperty(property.Key, property.Value.GetValue<string>());
}
}
示例4: WriteTags
private static void WriteTags(JsonWriter writer, Entity entity, JsonSerializer serializer)
{
if (entity.Tags.Count() > 0)
writer.WriteArray("__tags", entity.Tags);
}
示例5: WriteAcls
private static void WriteAcls(JsonWriter writer, List<Claim> allowed, List<Claim> denied, List<ResetRequest> reset)
{
var map = new Dictionary<SidTypeKey, ClaimGroup>();
allowed.For(x =>
{
ClaimGroup group;
var key = new SidTypeKey { Sid = x.Sid, Type = x.ClaimType };
if (map.TryGetValue(key, out group) == false)
group = new ClaimGroup { Sid = x.Sid, Type = x.ClaimType };
group.Allowed.Add(x.AccessType);
});
denied.For(x =>
{
ClaimGroup group;
var key = new SidTypeKey { Sid = x.Sid, Type = x.ClaimType };
if (map.TryGetValue(key, out group) == false)
group = new ClaimGroup { Sid = x.Sid, Type = x.ClaimType };
group.Denied.Add(x.AccessType);
});
reset.For(x =>
{
ClaimGroup group;
var key = new SidTypeKey { Sid = x.Sid, Type = x.Type };
if (map.TryGetValue(key, out group) == false)
group = new ClaimGroup { Sid = x.Sid, Type = x.Type };
group.Reset.Add(x.Access);
});
writer.WriteStartArray();
map.Values.For(x =>
{
writer.WriteStartObject();
writer.WriteProperty("sid", x.Sid);
writer.WriteProperty("type", x.Type.ToString().ToLower());
if (x.Allowed.Count > 0)
writer.WriteArray("allow", x.Allowed.Select(y => y.ToString().ToLower()));
if (x.Denied.Count > 0)
writer.WriteArray("deny", x.Denied.Select(y => y.ToString().ToLower()));
if (x.Reset.Count > 0)
writer.WriteArray("dontcare", x.Reset.Select(y => y.ToString().ToLower()));
writer.WriteEndObject();
});
writer.WriteEndArray();
}
示例6: GenerateJsonSchema
private string GenerateJsonSchema()
{
List<string> required = new List<string>();
MemoryStream stream = new MemoryStream();
JsonWriter writer = new JsonWriter(stream);
writer.WriteObject();
writer.WriteMember("$schema");
writer.WriteValue("http://json-schema.org/draft-04/schema");
writer.WriteMember("title");
writer.WriteValue(Object.Name);
writer.WriteMember("type");
writer.WriteValue("object");
writer.WriteMember("properties");
AddJsonProperties(writer, Object.GetProperties(), false);
if (required.Count > 0)
{
writer.WriteMember("required");
writer.WriteArray();
foreach (string requirement in required)
{
writer.WriteValue(requirement);
}
writer.WriteEndArray();
}
writer.WriteEndObject();
writer.Flush();
stream.Position = 0;
string unformattedJsonBody = new StreamReader(stream).ReadToEnd();
object parsedJson = JsonConvert.DeserializeObject(unformattedJsonBody);
return JsonConvert.SerializeObject(parsedJson, Newtonsoft.Json.Formatting.Indented);
}
示例7: Serialize
public void Serialize(JsonWriter writer, object obj, JsonSerializer serializer)
{
if (obj == null) return;
var issue = (Issue) obj;
writer.WriteStartObject();
writer.WriteValue(RedmineKeys.ISSUE);
writer.WriteProperty(RedmineKeys.SUBJECT, issue.Subject);
writer.WriteProperty(RedmineKeys.DESCRIPTION, issue.Description);
writer.WriteProperty(RedmineKeys.NOTES, issue.Notes);
if (issue.Id != 0)
{
writer.WriteProperty(RedmineKeys.PRIVATE_NOTES, issue.PrivateNotes);
}
writer.WriteProperty(RedmineKeys.IS_PRIVATE, issue.IsPrivate);
writer.WriteIdIfNotNull(RedmineKeys.PROJECT_ID, issue.Project);
writer.WriteIdIfNotNull(RedmineKeys.PRIORITY_ID, issue.Priority);
writer.WriteIdIfNotNull(RedmineKeys.STATUS_ID, issue.Status);
writer.WriteIdIfNotNull(RedmineKeys.CATEGORY_ID, issue.Category);
writer.WriteIdIfNotNull(RedmineKeys.TRACKER_ID, issue.Tracker);
writer.WriteIdIfNotNull(RedmineKeys.ASSIGNED_TO_ID, issue.AssignedTo);
writer.WriteIdIfNotNull(RedmineKeys.FIXED_VERSION_ID, issue.FixedVersion);
writer.WriteValueOrEmpty(RedmineKeys.ESTIMATED_HOURS, issue.EstimatedHours);
writer.WriteIdOrEmpty(RedmineKeys.PARENT_ISSUE_ID, issue.ParentIssue);
writer.WriteDateOrEmpty(RedmineKeys.START_DATE, issue.StartDate);
writer.WriteDateOrEmpty(RedmineKeys.DUE_DATE, issue.DueDate);
writer.WriteDateOrEmpty(RedmineKeys.UPDATED_ON, issue.DueDate);
if (issue.DoneRatio != null)
writer.WriteProperty(RedmineKeys.DONE_RATIO, issue.DoneRatio.Value.ToString(CultureInfo.InvariantCulture));
if (issue.SpentHours != null)
writer.WriteProperty(RedmineKeys.SPENT_HOURS, issue.SpentHours.Value.ToString(CultureInfo.InvariantCulture));
writer.WriteArray(RedmineKeys.UPLOADS, issue.Uploads, new UploadConverter(), serializer);
writer.WriteArray(RedmineKeys.CUSTOM_FIELDS, issue.CustomFields, new IssueCustomFieldConverter(), serializer);
writer.WriteIdsArray(RedmineKeys.WATCHER_USER_IDS, issue.Watchers);
writer.WriteEndObject();
}