WriteToken() public méthode

Writes the current JsonReader token and its children.
public WriteToken ( JsonReader reader ) : void
reader JsonReader The to read the token from.
Résultat void
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var pair = (SwaggerOperationsExtended)value;

            writer.WriteStartObject();
            var count = pair.Keys.Count;
            for (var i = 0; i < count; i++)
            {
                var key = pair.Keys.ElementAt(i);
                var oVal = pair.Values.ElementAt(i);
                
                writer.WritePropertyName(key.ToString().ToLower());

                var tokenReader = new JTokenReader(JToken.FromObject(oVal));
                writer.WriteToken(tokenReader);
            }
            writer.WriteEndObject();
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var d = value as LazyDocument;
			if (d == null || d._Value == null)
				return;
			writer.WriteToken(d._Value.CreateReader());
		}
Exemple #3
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            try
            {
                _isWriting = true;

                // Operate on all identifiable Elements with a path less than Entities.xxxxx
                // This will get all properties.
                if (value is Element && writer.Path.Split('.').Length == 1 && !ElementwiseSerialization)
                {
                    var ident = (Element)value;
                    writer.WriteValue(ident.Id);
                }
                else
                {
                    var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer);
                    if (jObject.ContainsKey(_discriminator))
                    {
                        jObject[_discriminator] = value.GetType().FullName;
                    }
                    else
                    {
                        jObject.AddFirst(new Newtonsoft.Json.Linq.JProperty(_discriminator, value.GetType().FullName));
                    }
                    writer.WriteToken(jObject.CreateReader());
                }
            }
            finally
            {
                _isWriting = false;
            }
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            try
            {
                _isWriting = true;

                // Operate on all identifiable Elements with a path less than Entities.xxxxx
                // This will get all properties.
                if (value is Element element && writer.Path.Split('.').Length == 1 && !ElementwiseSerialization)
                {
                    var ident = element;
                    writer.WriteValue(ident.Id);
                }
                else
                {
                    var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer);
                    if (jObject.TryGetValue(_discriminator, out JToken token))
                    {
                        ((JValue)token).Value = GetDiscriminatorName(value);
                    }
                    else
                    {
                        jObject.AddFirst(new Newtonsoft.Json.Linq.JProperty(_discriminator, GetDiscriminatorName(value)));
                    }
                    writer.WriteToken(jObject.CreateReader());
                }
            }
Exemple #5
0
 /// <inheritdoc/>
 public override void WriteJson(JsonWriter writer, IPAddress value,
                                JsonSerializer serializer)
 {
     if (value == null)
     {
         writer.WriteNull();
     }
     else
     {
         writer.WriteToken(JsonToken.String, value.ToString());
     }
 }
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     try
     {
         _isWriting = true;
         var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer);
         writer.WriteToken(jObject.CreateReader());
     }
     finally
     {
         _isWriting = false;
     }
 }
Exemple #7
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            try
            {
                _isWriting = true;

                var jObject = Newtonsoft.Json.Linq.JObject.FromObject(value, serializer);

                // HACK
                //jObject.AddFirst(new Newtonsoft.Json.Linq.JProperty(_discriminator, value.GetType().Name));

                writer.WriteToken(jObject.CreateReader());
            }
            finally
            {
                _isWriting = false;
            }
        }
 /// <summary>
 /// Write
 /// </summary>
 /// <param name="writer"></param>
 /// <param name="value"></param>
 /// <param name="serializer"></param>
 public override void WriteJson(JsonWriter writer, PhysicalAddress value,
                                JsonSerializer serializer)
 {
     writer.WriteToken(JsonToken.String, value?.ToString() ??
                       string.Empty);
 }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			writer.WriteToken(JsonToken.String, ((ThrowResult)value).ToString());
		}
Exemple #10
0
            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
            {
                if (value.GetType().BaseType == typeof(Array))
                {

                    writer.WriteStartArray();

                    foreach (object o in (Array)value)
                    {
                        writer.WriteStartObject();
                        try
                        {

                            string[] fields = (string[])GetPropValue(o, "fields");
                            foreach (string field in fields)
                            {

                                var prop = GetPropValue(o, field);
                                if (prop != null)
                                {

                                    writer.WritePropertyName(field);
                                    try
                                    {
                                        writer.WriteValue(prop);
                                    }
                                    catch (Exception exp1)
                                    {
                                        writer.WriteValue(JsonConvert.SerializeObject(prop));
                                    }
                                }
                            }

                        }
                        catch (Exception exp)
                        {

                        }
                        writer.WriteEndObject();

                    }
                    writer.WriteEndArray();
                }
                else
                {

                    try
                    {

                        string[] fields = (string[])GetPropValue(value, "fields");
                        writer.WriteStartObject();
                        foreach (string field in fields)
                        {

                            var prop = GetPropValue(value, field);
                            if (prop != null)
                            {

                                writer.WritePropertyName(field);
                                try
                                {
                                    writer.WriteValue(prop);
                                }
                                catch (Exception exp1)
                                {
                                    writer.WriteValue(JsonConvert.SerializeObject(prop));
                                }
                            }
                        }
                        writer.WriteEndObject();
                    }
                    catch (Exception exp)
                    {
                        JToken j = JToken.FromObject(value);

                        writer.WriteToken(j.CreateReader());
                    }

                }
            }
        /// <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)
        {
            var contract = serializer.ContractResolver.ResolveContract(value.GetType());
            contract.Converter = null;

            var jObject = JObject.FromObject(value, serializer);
            jObject.AddFirst(new JProperty(_discriminator, value.GetType().Name));
            writer.WriteToken(jObject.CreateReader());

            contract.Converter = this;
        }
Exemple #12
0
        public override void WriteJson(JsonWriter w, object o, JsonSerializer s)
        {
            var result = "";
            if (o is byte[])
            {
                result += "data:application/octet-stream;base64,";
                result += Convert.ToBase64String((byte[])o);
            }
            else if (o is string)
            {
                result += "data:text/plain;base64,";
                result += Convert.ToBase64String(Encoding.UTF8.GetBytes((string)o));
            }
            else if (o is Bitmap)
            {
                result += "data:image/png;base64,";
                var bmp = (Bitmap) o;
                var stream = new MemoryStream();
                bmp.Save(stream, ImageFormat.Png);
                result += Convert.ToBase64String(stream.GetBuffer());
            }
            else
            {
                throw new NotImplementedException();
            }

            w.WriteToken(JsonToken.String, result);
        }
        /// <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)
        {
            var v8Item = value as V8ScriptItem;
            var jsType = v8Item.GetJsType();
            object outObj;
            if (jsType == JsTypes.jsError)
            {
                Dictionary<string, object> obj = new Dictionary<string, object>();
                obj["message"] = v8Item.GetProperty("message") as string;
                obj["stack"] = v8Item.GetProperty("stack") as string;
                foreach (var pname in v8Item.GetPropertyNames())
                {
                    var item = v8Item.GetProperty(pname);
                    if (ShouleSerialize(item, out outObj))
                    {
                        obj[pname] = outObj;
                    }

                }

                serializer.Serialize(writer, obj, obj.GetType());
            }
            else if (jsType == JsTypes.JsObject || jsType == JsTypes.JsArray || jsType == JsTypes.jsArguments)
            {

                try
                {
                    var json = v8Item.Engine.Script.JSON.stringify(v8Item);

                    if (writer is JTokenWriter)
                    {
                        var tw = new StringReader(json);
                        var jsonReader = new JsonTextReader(tw);

                        writer.WriteToken(jsonReader);

                    }
                    else
                    {
                        writer.WriteRaw(json);
                    }
                }
                catch (Exception)
                {

                    throw;
                }

            }
            else if (jsType == JsTypes.JsDate)
            {
                var dateString = (string)v8Item.InvokeMethod("toISOString", new object[0]);
                DateTime dt = DateTime.Parse(dateString, DateTimeFormatInfo.CurrentInfo, DateTimeStyles.RoundtripKind);
                serializer.Serialize(writer, dt, dt.GetType());
            }
            else
            {
                writer.WriteNull();
            }
        }