public override void WriteJson(JsonWriter writer, Object value, JsonSerializer serializer)
        {
            if (value is NameValueCollection collection)
            {
                NameValueCollectionItem[] items = new NameValueCollectionItem[collection.AllKeys.Length];
                Int32 index = 0;
                foreach (String key in collection.AllKeys)
                {
                    items[index++] = new NameValueCollectionItem {
                        Key    = key,
                        Values = collection.GetValues(key)
                    };
                }

                serializer.Serialize(writer, items);
            }
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var collection = (NameValueCollection)value;

            if (collection != null)
            {
                var items = new NameValueCollectionItem[collection.AllKeys.Length];
                var index = 0;
                foreach (var key in collection.AllKeys)
                {
                    items[index++] = new NameValueCollectionItem
                    {
                        Key    = key,
                        Values = collection.GetValues(key)
                    };
                }

                serializer.Serialize(writer, items);
            }
        }