WriteNull() public method

Writes a null value.
public WriteNull ( ) : void
return void
        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
0
 public override void WriteJson(NewtonsoftJson.JsonWriter writer, object value, NewtonsoftJson.JsonSerializer serializer)
 {
     if (value is Int64)
     {
         writer.WriteValue((long)value);
     }
     else if (value is DateTime)
     {
         writer.WriteValue(((DateTime)value).ToUnixTimeStamp());
     }
     else if (value is DateTime?)
     {
         if (((DateTime?)value).HasValue)
         {
             writer.WriteValue(((DateTime?)value).Value.ToUnixTimeStamp());
         }
         else
         {
             writer.WriteNull();
         }
     }
     else
     {
         writer.WriteNull();
     }
 }
示例#3
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            IList items = (IList)value;

            if (value != null && items.Count > 0)
            {
                if (items.Count == 1 && this.IsSingleItemArray())
                {
                    Control item = (Control)items[0];

                    var pnl = item as AbstractPanel;

                    if (!item.Visible)
                    {
                        writer.WriteNull();
                        return;
                    }

                    writer.WriteRawValue(this.Format(items[0] as Control));
                }
                else
                {
                    bool visible = false;

                    foreach (Observable item in items)
                    {
                        if (item.Visible)
                        {
                            visible = true;
                        }
                    }

                    if (visible)
                    {
                        writer.WriteStartArray();

                        foreach (Observable item in items)
                        {
                            if (item.Visible)
                            {
                                writer.WriteRawValue(this.Format(item));
                            }
                        }

                        writer.WriteEndArray();
                    }
                    else
                    {
                        writer.WriteNull();
                    }
                }
            }
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var marker = value as Types;
			if (marker == null)
			{
				writer.WriteNull();
				return;
			}
			marker.Match(
				all=> writer.WriteNull(),
				many => writer.WriteValue(((IUrlParameter)marker).GetString(serializer.GetConnectionSettings()))
			);
		}
 public override void WriteJson( JsonWriter writer, object value, JsonSerializer serializer ) {
     if ( value == null ) {
         writer.WriteNull();
         return;
     }
     writer.WriteValue(((Date)value).ToString());
 }
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value.IsNot<NestedFilter>())
     {
         writer.WriteNull();
         return;
     }
     var filter = (NestedFilter)value;
     writer.WriteStartObject();
     writer.WritePropertyName("nested");
     writer.WriteStartObject();
     if (filter.Path.IsNotNull())
     {
         writer.WritePropertyName("path");
         writer.WriteValue(filter.Path);
     }
     writer.WritePropertyName("filter");
     serializer.Serialize(writer, filter.Filter);
     if (filter.Join.IsNotNull())
     {
         writer.WritePropertyName("join");
         writer.WriteValue(filter.Join);
     }
     writer.WriteEndObject();
     writer.WriteEndObject();
 }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            IList items = (IList)value;

            if (value != null && items.Count > 0)
            {
                if (items.Count == 1 && !CanBeSingleItemArray(items[0]))
                {
                    Control item = (Control)items[0];

                    PanelBase pnl = item as PanelBase;

                    if (!item.Visible || (pnl != null && pnl.Hidden && pnl.ParentComponent is TabPanel))
                    {
                        writer.WriteNull();
                        return;
                    }

                    writer.WriteRawValue(this.Format(items[0] as Control));
                }
                else
                {
                    bool visible = false;

                    foreach (Observable item in items)
                    {
                        PanelBase pnl = item as PanelBase;
                        bool isTab = pnl != null && pnl.ParentComponent is TabPanel;

                        if (item.Visible && (!isTab || !pnl.Hidden))
                        {
                            visible = true;
                        }
                    }

                    if (visible)
                    {
                        writer.WriteStartArray();

                        foreach (Observable item in items)
                        {
                            PanelBase pnl = item as PanelBase;

                            bool isTab = pnl != null && pnl.ParentComponent is TabPanel;

                            if (item.Visible && (!isTab || !pnl.Hidden))
                            {
                                writer.WriteRawValue(this.Format(item));
                            }
                        }

                        writer.WriteEndArray();
                    }
                    else
                    {
                        writer.WriteNull();
                    }
                }
            }
        }
示例#8
0
 /// <inheritdoc/>
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value == null)
         writer.WriteNull();
     else
         writer.WriteValue(((TimeSpan)value).TotalMilliseconds);
 }
示例#9
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
   if (value == null)
   {
     writer.WriteNull();
   }
   else
   {
     Enum @enum = (Enum) value;
     string first = @enum.ToString("G");
     if (char.IsNumber(first[0]) || (int) first[0] == 45)
     {
       writer.WriteValue(value);
     }
     else
     {
       string second;
       this.GetEnumNameMap(@enum.GetType()).TryGetByFirst(first, out second);
       second = second ?? first;
       if (this.CamelCaseText)
         second = string.Join(", ", Enumerable.ToArray<string>(Enumerable.Select<string, string>((IEnumerable<string>) second.Split(new char[1]
         {
           ','
         }), (Func<string, string>) (item => StringUtils.ToCamelCase(item.Trim())))));
       writer.WriteValue(second);
     }
   }
 }
示例#10
0
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The calling serializer.</param>
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            EnsureReflectionObject(value.GetType());

            DefaultContractResolver resolver = serializer.ContractResolver as DefaultContractResolver;

            string keyName = (string)_reflectionObject.GetValue(value, KeyPropertyName);
            object keyValue = _reflectionObject.GetValue(value, ValuePropertyName);

            Type keyValueType = (keyValue != null) ? keyValue.GetType() : null;

            writer.WriteStartObject();
            writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(KeyPropertyName) : KeyPropertyName);
            writer.WriteValue(keyName);
            writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(TypePropertyName) : TypePropertyName);
            writer.WriteValue((keyValueType != null) ? keyValueType.FullName : null);

            writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(ValuePropertyName) : ValuePropertyName);

            if (keyValueType != null)
            {
                string valueJson;
                if (JsonSerializerInternalWriter.TryConvertToString(keyValue, keyValueType, out valueJson))
                    writer.WriteValue(valueJson);
                else
                    writer.WriteValue(keyValue);
            }
            else
            {
                writer.WriteNull();
            }

            writer.WriteEndObject();
        }
示例#11
0
		public void ValueFormatting()
		{
			StringBuilder sb = new StringBuilder();
			StringWriter sw = new StringWriter(sb);

			using (JsonWriter jsonWriter = new JsonWriter(sw))
			{
				jsonWriter.WriteStartArray();
				jsonWriter.WriteValue('@');
				jsonWriter.WriteValue("\r\n\t\f\b?{\\r\\n\"\'");
				jsonWriter.WriteValue(true);
				jsonWriter.WriteValue(10);
				jsonWriter.WriteValue(10.99);
				jsonWriter.WriteValue(0.99);
				jsonWriter.WriteValue(0.000000000000000001d);
				jsonWriter.WriteValue(0.000000000000000001m);
				jsonWriter.WriteValue(null);
				jsonWriter.WriteValue("This is a string.");
				jsonWriter.WriteNull();
				jsonWriter.WriteUndefined();
				jsonWriter.WriteEndArray();
			}

			string expected = @"[""@"",""\r\n\t\f\b?{\\r\\n\""'"",true,10,10.99,0.99,1E-18,0.000000000000000001,"""",""This is a string."",null,undefined]";
			string result = sb.ToString();

			Console.WriteLine("ValueFormatting");
			Console.WriteLine(result);

			Assert.AreEqual(expected, result);
		}
        public override void WriteJson(
            JsonWriter writer,
            object value,
            JsonSerializer serializer)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }

            byte[] data = (byte[])value;

            // Compose an array.
            writer.WriteStartArray();
            Formatting oldFormatting = writer.Formatting;
            writer.Formatting = Formatting.None;

            for (var i = 0; i < data.Length; i++)
            {
                writer.WriteValue(data[i]);
            }

            writer.WriteEndArray();
            writer.Formatting = oldFormatting;
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var marker = value as Indices;
			if (marker == null)
			{
				writer.WriteNull();
				return;
			}
			marker.Match(
				all =>
				{
					writer.WriteStartArray();
					writer.WriteValue("_all");
					writer.WriteEndArray();
				},
				many =>
				{
					var settings = serializer.GetConnectionSettings();
					writer.WriteStartArray();
					foreach (var m in many.Indices.Cast<IUrlParameter>())
						writer.WriteValue(m.GetString(settings));
					writer.WriteEndArray();
				}
			);
		}
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (!(value is Enum))
            {
                base.WriteJson(writer, value, serializer);
                return;
            }

            var enumType = value.GetType();
            var enumField = enumType.GetField(value.ToString());

            var attribute = enumField.GetCustomAttributes<SkyScannerEnumValueAttribute>().FirstOrDefault();
            if (attribute == null)
            {
                base.WriteJson(writer, value, serializer);
                return;
            }

            if (attribute.Value == null)
            {
                writer.WriteNull();
                return;
            }

            writer.WriteValue(attribute.Value);
        }
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     var sort = value as SortGeoDistanceDescriptor;
     if (sort != null)
     {
         writer.WriteStartObject();
         if (sort._Missing != null)
         {
             writer.WritePropertyName("missing");
             writer.WriteValue(sort._Missing);
         }
         if (sort._Order != null)
         {
             writer.WritePropertyName("order");
             writer.WriteValue(sort._Order);
         }
         if (sort._PinLocation != null)
         {
             writer.WritePropertyName(sort._Field);
             writer.WriteValue(sort._PinLocation);
         }
         if (sort._GeoUnit.HasValue)
         {
             writer.WritePropertyName("unit");
             var v = Enum.GetName(typeof(GeoUnit), sort._GeoUnit.Value);
             writer.WriteValue(v);
         }
         writer.WriteEndObject();
     }
     else
         writer.WriteNull();
 }
示例#16
0
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The calling serializer.</param>
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }

            Enum e = (Enum)value;

            string enumName = e.ToString("G");

            if (char.IsNumber(enumName[0]) || enumName[0] == '-')
            {
                // enum value has no name so write number
                writer.WriteValue(value);
            }
            else
            {
                Type enumType = e.GetType();

                string finalName = EnumUtils.ToEnumName(enumType, enumName, CamelCaseText);

                writer.WriteValue(finalName);
            }
        }
示例#17
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value == null)
            {
                writer.WriteNull();
            }
            else
            {
                var id = (HiveId)value;
                
                writer.WriteStartObject();
                writer.WritePropertyName("htmlId");
                writer.WriteValue(id.GetHtmlId());

                writer.WritePropertyName("rawValue");
                writer.WriteValue(id.ToString());

                writer.WritePropertyName("value");
                writer.WriteValue(id.Value.Value == null ? "" : id.Value.Value.ToString());

                writer.WritePropertyName("valueType");
                writer.WriteValue(id.Value.Type);

                writer.WritePropertyName("provider");
                writer.WriteValue(id.ProviderId.IsNullOrWhiteSpace() ? "" : id.ProviderId);

                writer.WritePropertyName("scheme");
                writer.WriteValue(id.ProviderGroupRoot == null ? "" : id.ProviderGroupRoot.ToString());

                writer.WriteEndObject();                
            }

        }
示例#18
0
		/// <summary>
		/// Writes the JSON representation of the object.
		/// </summary>
		/// <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
		/// <param name="value">The value.</param>
		/// <param name="serializer">The calling serializer.</param>
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			if(value == null)
				writer.WriteNull();
			else
				writer.WriteValue(value.ToString());
		}
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var collection = (NameValueCollection)value;

            writer.WriteStartObject();

            foreach (var key in collection.AllKeys)
            {
                writer.WritePropertyName(key);

                var values = collection.GetValues(key);
                if (values == null)
                {
                    writer.WriteNull();
                    continue;
                }
                if (values.Length == 1)
                {
                    writer.WriteValue(values[0]);
                }
                else
                {
                    writer.WriteStartArray();

                    foreach (var item in values)
                    {
                        writer.WriteValue(item);
                    }

                    writer.WriteEndArray();
                }

            }
            writer.WriteEndObject();
        }
示例#20
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if(value == null)
            {
                writer.WriteNull();
                return;
            }

            MerkleNode mn = value as MerkleNode;

            writer.WriteStartObject();

            writer.WritePropertyName("Data");
            serializer.Serialize(writer, mn.Data);

            writer.WritePropertyName("Hash");
            serializer.Serialize(writer, mn.Hash);

            writer.WritePropertyName("Links");
            serializer.Serialize(writer, mn.Links);

            writer.WritePropertyName("Name");
            serializer.Serialize(writer, mn.Name);

            writer.WritePropertyName("Size");
            serializer.Serialize(writer, mn.Size);

            writer.WriteEndObject();
        }
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value != null)
         writer.WriteValue(value.ToString()); // adds quotes around the number
     else
         writer.WriteNull();
 }
示例#22
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     IFieldQuery fq = value as IFieldQuery;
     if (fq != null)
     {
         writer.WriteStartObject();
         writer.WritePropertyName(fq.Field);
         writer.WriteStartObject();
         if (fq is IValue)
         {
             IValue v = fq as IValue;
             writer.WritePropertyName("value");
             writer.WriteValue(v.Value);
         }
         if (fq.Boost != 1.0)
         {
             writer.WritePropertyName("boost");
             writer.WriteValue(fq.Boost);
         }
         writer.WriteEndObject();
         writer.WriteEndObject();
     }
     else
         writer.WriteNull();
 }
        private static void WriteObject(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }

            Type valueType = value.GetType();
            TypeInfo valueTypeInfo = valueType.GetTypeInfo();

            writer.WriteStartObject();

            writer.WritePropertyName("$type");
            writer.WriteValue(NameUtility.GetSimpleAssemblyQualifiedName(valueType));

            writer.WritePropertyName("$value");
            
            if (valueTypeInfo.IsPrimitive)
                writer.WriteValue(value);
            else
                serializer.Serialize(writer, value);

            writer.WriteEndObject();
        }
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value == null)
         writer.WriteNull();
     else
         writer.WriteRawValue(EpochTime.ConvertDateTimeToEpoch((DateTime)value).ToString());
 }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value == null)
            {
                writer.WriteNull();
            }
            else
            {
                var notifications = (ClientNotifications)value;
                writer.WriteStartArray();

                foreach (var p in notifications)
                {
                    writer.WriteStartObject();
                    writer.WritePropertyName("id");
                    writer.WriteValue(p.Id.ToString("N"));
                    writer.WritePropertyName("message");
                    writer.WriteValue(p.Message);
                    writer.WritePropertyName("title");
                    writer.WriteValue(p.Title);
                    writer.WritePropertyName("type");
                    writer.WriteValue(p.Type.ToString().ToLower());
                    writer.WriteEndObject();
                }
                writer.WriteEndArray();
            }

        }
示例#26
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if(value == null)
            {
                writer.WriteNull();
                return;
            }

            EthCall call = value as EthCall;

            writer.WriteStartObject();

            writer.WritePropertyName("from");
            serializer.Serialize(writer, call.From);

            writer.WritePropertyName("to");
            serializer.Serialize(writer, call.To);

            writer.WritePropertyName("gas");
            serializer.Serialize(writer, call.Gas);

            writer.WritePropertyName("gasPrice");
            serializer.Serialize(writer, call.GasPrice);

            writer.WritePropertyName("value");
            serializer.Serialize(writer, call.Value);

            writer.WritePropertyName("data");
            serializer.Serialize(writer, call.Data);

            writer.WriteEndObject();
        }
        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();

        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var request = value as AuthenticateUserRequest;
            if (request == null)
            {
                writer.WriteNull();
                return;
            }

            writer
                .StartObject()
                .WithWriter(w =>
                {
                    if (string.IsNullOrWhiteSpace(request.Type) == false)
                        w.WriteProperty("type", request.Type);
                    if (request.MaxAttempts > 0)
                        w.WriteProperty("attempts").WriteValue(request.MaxAttempts);
                    if (request.TimeoutInSeconds > 0)
                        w.WriteProperty("expiry").WriteValue(request.TimeoutInSeconds);
                    if (request.CreateUserIfNotExists)
                        w.WriteProperty("createnew").WriteValue(request.CreateUserIfNotExists);
                    foreach (var key in request.Attributes.Keys)
                        w.WriteProperty(key, request[key]);
                })
                .EndObject();
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }

            Enum e = (Enum)value;

            string enumName = e.ToString("G");

            if (char.IsNumber(enumName[0]) || 
                enumName[0] == '-')
            {
                // enum value has no name so write number
                writer.WriteValue(value);
            }
            else
            {
                string finalName = SnakeCasePropertyResolver.ToSnakeCase(enumName);

                _stringEnumConverter.WriteJson(writer, finalName, serializer);
            }
        }
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if(value == null)
            {
                writer.WriteNull();
                return;
            }

            var obj = value as EthSyncing;

            if(obj.IsSynching)
            {
                writer.WriteStartObject();

                writer.WritePropertyName(StartingBlockKey);
                serializer.Serialize(writer, obj.StartingBlock.Value);

                writer.WritePropertyName(CurrentBlockKey);
                serializer.Serialize(writer, obj.CurrentBlock.Value);

                writer.WritePropertyName(HighestBlockKey);
                serializer.Serialize(writer, obj.HighestBlock.Value);

                writer.WriteEndObject();
            }
            else
            {
                writer.WriteValue(false);
            }
        }
示例#31
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var term = value as Term;
            if (term != null)
            {
                writer.WriteStartObject();
                writer.WritePropertyName(term.Field);
                writer.WriteStartObject();

                    writer.WritePropertyName("value");
                    writer.WriteValue(term.Value);

                if (term.Boost.HasValue)
                {
                    writer.WritePropertyName("boost");
                    writer.WriteValue(term.Boost.Value);
                }
                var multiTerm = value as IMultiTermQuery;
                if (multiTerm != null)
                {
                    if (multiTerm.Rewrite.HasValue)
                    {
                        writer.WritePropertyName("rewrite");
                        writer.WriteValue(Enum.GetName(typeof(RewriteMultiTerm), multiTerm.Rewrite.Value));
                    }
                }

                writer.WriteEndObject();
                writer.WriteEndObject();
            }
            else
                writer.WriteNull();
        }
示例#32
0
        public override void WriteJson (JsonWriter writer, object objVal, JsonSerializer serializer)
        {
            if (objVal == null) {
                writer.WriteNull();
                return;
            }

            Type objectType = objVal.GetType(),
                 enumType = GetActualEnumType(objectType);
            EnumInfo enumInfo = GetEnumInfo(enumType);
            ulong val = Convert.ToUInt64(objVal);

            if (!enumType.IsDefined(typeof(FlagsAttribute), false) || val == 0) {
                var valIndex = enumInfo.Values.IndexOf(val);
                writer.WriteValue(valIndex != -1 ? enumInfo.Names[valIndex] : objVal.ToString());
            }
            else {
                var sbVal = new StringBuilder();
                bool isFirstVal = true;

                for (int i = 0; i < enumInfo.Values.Count; i++) {
                    if (enumInfo.Values[i] != 0 && (val & enumInfo.Values[i]) == enumInfo.Values[i]) {
                        val -= enumInfo.Values[i];
                        if (!isFirstVal)
                            sbVal.Append(", ");
                        sbVal.Append(enumInfo.Names[i]);
                        isFirstVal = false;
                    }
                }

                writer.WriteValue(val == 0 ? sbVal.ToString() : objVal.ToString());
            }
        }
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value is JFunction)
     {
         writer.WriteRawValue((value as JFunction).ToScript());
     }
     else
     {
         writer.WriteNull();
     }
 }
示例#34
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (DateTime.MinValue.Equals(value))
     {
         writer.WriteNull();
     }
     else
     {
         DateTime date = (DateTime)value;
         writer.WriteValue(date.ToUniversalTime().ToString(@"yyyy-MM-dd\THH:mm:ss.fff\Z"));
     }
 }
示例#35
0
 public void WriteToOneRelationship(JsonWriter writer, JsonApiToOneRelationshipObject value, JsonSerializer serializer)
 {
     if (value.Data == null)
     {
         //null for empty to-one relationships.
         writer.WriteNull();
     }
     else
     {
         //a single resource identifier object for non - empty to - one relationships.
         serializer.Serialize(writer, value.Data);
     }
 }
示例#36
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            var ext = value as JsonExtension;

            if (ext == null)
            {
                writer.WriteNull();
            }
            else
            {
                var json = ext.Serialize();
                writer.WriteValue(json);
            }
        }
示例#37
0
        /// <inheritdoc/>
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            var dataRow = value as DataRow;

            if (dataRow == null)
            {
                writer.WriteNull();
                return;
            }

            var jsonWriter = new JsonWriterAdapter(writer, null);

            jsonWriter.Write(dataRow);
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            Control control = value as Control;

            if (control != null)
            {
                if (!control.Visible)
                {
                    writer.WriteNull();
                    return;
                }

                writer.WriteRawValue(this.Format(control));
            }
        }
示例#39
0
        public override void ValueToJson(Newtonsoft.Json.JsonWriter writer, Row row, JsonSerializer serializer)
        {
            var value = _getValue(row);

            if (value == null)
            {
                writer.WriteNull();
            }
            else //if (EnumType == null) şimdilik enum tipi belirtilse de string e çevrilerek yazma işlemi iptal, flag ile daha sonra ekleyelim
            {
                writer.WriteValue(value.Value);
            }
            //else if (EnumType.IsEnum)
            //    writer.WriteValue(Enum.GetName(EnumType, value.Value));
            //else if (EnumType.IsSubclassOf(typeof(DataEnum)))
            //    writer.WriteValue(DataEnum.ConvertFromInt32(EnumType, value.Value).Key);
        }
        public override void WriteJson(
            Newtonsoft.Json.JsonWriter writer,
            object value,
            JsonSerializer serializer)
        {
            switch (value)
            {
            case JsonPayload json:
                writer.WriteRawValue(json);
                break;

            case ISerializableObject _:
                writer.WriteRawValue(Representations.RepresentationManager.ToJson(value));
                break;

            case null:
                writer.WriteNull();
                break;
            }
        }
示例#41
0
            /// <summary>
            /// Serialise an API event to JSON
            /// </summary>
            /// <returns>JObject of the event</returns>
            public void Serialise(Newtonsoft.Json.JsonWriter writer, Newtonsoft.Json.JsonSerializer serializer)
            {
                writer.WriteStartArray();

                writer.WriteValue(Graph !.ConstructedTime);
                writer.WriteValue(Node !.Index);
                writer.WriteValue(Index);
                writer.WriteValue(Repeats);
                writer.WriteValue(UniqID);

                if (APIDetails.HasValue)
                {
                    serializer.Serialize(writer, APIDetails);
                }
                else
                {
                    writer.WriteNull();
                }
                writer.WriteEndArray();
            }
示例#42
0
        public override void ValueToJson(Newtonsoft.Json.JsonWriter writer, Row row, JsonSerializer serializer)
        {
            var value = _getValue(row);

            if (value == null)
            {
                writer.WriteNull();
            }
            else if (EnumType == null)
            {
                writer.WriteValue(value.Value);
            }
            else if (EnumType.IsEnum)
            {
                writer.WriteValue(Enum.GetName(EnumType, value.Value));
            }
            else if (EnumType.IsSubclassOf(typeof(DataEnum)))
            {
                writer.WriteValue(DataEnum.ConvertFromInt32(EnumType, value.Value).Key);
            }
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            IList items = (IList)value;

            if (value != null && items.Count > 0)
            {
                if (items.Count == 1 && this.IsSingleItemArray())
                {
                    Control item = (Control)items[0];

                    if (!item.Visible)
                    {
                        writer.WriteNull();
                        return;
                    }

                    if (!(item is IProxyContainer))
                    {
                        writer.WriteRawValue(this.Format(items[0] as Control));
                    }
                    else
                    {
                        List <string> ids = ((IProxyContainer)item).GetIDS();

                        if (ids != null && ids.Count > 0)
                        {
                            if (ids.Count == 1)
                            {
                                writer.WriteRawValue(this.Format(ids[0]));
                            }
                            else
                            {
                                writer.WriteStartArray();

                                foreach (string id in ids)
                                {
                                    writer.WriteRawValue(this.Format(id));
                                }

                                writer.WriteEndArray();
                            }
                        }
                    }
                }
                else
                {
                    bool visible = false;

                    foreach (Observable item in items)
                    {
                        if (item.Visible)
                        {
                            visible = true;
                        }
                    }

                    if (visible)
                    {
                        writer.WriteStartArray();

                        foreach (Observable item in items)
                        {
                            if (item.Visible)
                            {
                                if (!(item is IProxyContainer))
                                {
                                    writer.WriteRawValue(this.Format(item));
                                }
                                else
                                {
                                    List <string> ids = ((IProxyContainer)item).GetIDS();

                                    if (ids != null && ids.Count > 0)
                                    {
                                        foreach (string id in ids)
                                        {
                                            writer.WriteRawValue(this.Format(id));
                                        }
                                    }
                                }
                            }
                        }

                        writer.WriteEndArray();
                    }
                    else
                    {
                        writer.WriteNull();
                    }
                }
            }
        }
示例#44
0
        private void SerializeValue(JsonWriter writer, object value)
        {
            JsonConverter converter;

            if (value == null)
            {
                writer.WriteNull();
            }
            else if (HasMatchingConverter(value.GetType(), out converter))
            {
                converter.WriteJson(writer, value);
            }
            else if (value is IConvertible)
            {
                IConvertible convertible = value as IConvertible;

                switch (convertible.GetTypeCode())
                {
                case TypeCode.String:
                    writer.WriteValue((string)convertible);
                    break;

                case TypeCode.Char:
                    writer.WriteValue((char)convertible);
                    break;

                case TypeCode.Boolean:
                    writer.WriteValue((bool)convertible);
                    break;

                case TypeCode.SByte:
                    writer.WriteValue((sbyte)convertible);
                    break;

                case TypeCode.Int16:
                    writer.WriteValue((short)convertible);
                    break;

                case TypeCode.UInt16:
                    writer.WriteValue((ushort)convertible);
                    break;

                case TypeCode.Int32:
                    writer.WriteValue((int)convertible);
                    break;

                case TypeCode.Byte:
                    writer.WriteValue((byte)convertible);
                    break;

                case TypeCode.UInt32:
                    writer.WriteValue((uint)convertible);
                    break;

                case TypeCode.Int64:
                    writer.WriteValue((long)convertible);
                    break;

                case TypeCode.UInt64:
                    writer.WriteValue((ulong)convertible);
                    break;

                case TypeCode.Single:
                    writer.WriteValue((float)convertible);
                    break;

                case TypeCode.Double:
                    writer.WriteValue((double)convertible);
                    break;

                case TypeCode.DateTime:
                    writer.WriteValue((DateTime)convertible);
                    break;

                case TypeCode.Decimal:
                    writer.WriteValue((decimal)convertible);
                    break;

                default:
                    SerializeObject(writer, value);
                    break;
                }
            }
            else if (value is IList)
            {
                SerializeList(writer, (IList)value);
            }
            else if (value is IDictionary)
            {
                SerializeDictionary(writer, (IDictionary)value);
            }
            else if (value is ICollection)
            {
                SerializeCollection(writer, (ICollection)value);
            }
            else if (value is Identifier)
            {
                writer.WriteRaw(value.ToString());
            }
            else
            {
                Type valueType = value.GetType();

                SerializeObject(writer, value);
            }
        }