當前位置: 首頁>>代碼示例>>C#>>正文


C# JsonWriter.WriteArray方法代碼示例

本文整理匯總了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();
        }
開發者ID:ytokas,項目名稱:appacitive-dotnet-sdk,代碼行數:29,代碼來源:UpdateListItemsRequestConverter.cs

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

        }
開發者ID:neilunadkat,項目名稱:appacitive-dotnet-sdk,代碼行數:26,代碼來源:PushNotificationConverter.cs

示例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>());
     }
 }
開發者ID:ytokas,項目名稱:appacitive-dotnet-sdk,代碼行數:18,代碼來源:ObjectConverter.cs

示例4: WriteTags

 private static void WriteTags(JsonWriter writer, Entity entity, JsonSerializer serializer)
 {
     if (entity.Tags.Count() > 0)
         writer.WriteArray("__tags", entity.Tags);
 }
開發者ID:ytokas,項目名稱:appacitive-dotnet-sdk,代碼行數:5,代碼來源:ObjectConverter.cs

示例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();
        }
開發者ID:ytokas,項目名稱:appacitive-dotnet-sdk,代碼行數:44,代碼來源:ObjectConverter.cs

示例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);
        }
開發者ID:CreatorDev,項目名稱:DeviceServer,代碼行數:40,代碼來源:Schema.cs

示例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();
        }
開發者ID:Jopie64,項目名稱:redmine-net-api,代碼行數:47,代碼來源:IssueConverter.cs


注:本文中的Newtonsoft.Json.JsonWriter.WriteArray方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。