Пример #1
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();
        }
Пример #2
0
        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);
            }
        }
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if(value == null)
            {
                writer.WriteNull();
                return;
            }

            EthProofOfWork proofOfWork = value as EthProofOfWork;

            writer.WriteStartArray();
            serializer.Serialize(writer, proofOfWork.Nonce);
            serializer.Serialize(writer, proofOfWork.PowHash);
            serializer.Serialize(writer, proofOfWork.MixDigest);
            writer.WriteEndArray();
        }
Пример #4
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if(value == null)
            {
                writer.WriteNull();
                return;
            }

            var obj = value as RpcRequest;

            if(obj == null)
            {
                throw new ArgumentOutOfRangeException("value");
            }

            writer.WriteStartObject();

            writer.WritePropertyName("id");
            writer.WriteValue(obj.ID);

            writer.WritePropertyName("jsonrpc");
            writer.WriteValue(obj.JsonRpc);

            writer.WritePropertyName("method");
            writer.WriteValue(obj.MethodName);

            writer.WritePropertyName("params");
            serializer.Serialize(writer, obj.Parameters);

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

            EthTransaction transaction = value as EthTransaction;

            writer.WriteStartObject();

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

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

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

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

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

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

            writer.WritePropertyName("nonce");
            serializer.Serialize(writer, transaction.Nonce);

            writer.WriteEndObject();
        }
Пример #6
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }

            var v = value as EthTopic;

            if (v.Value != null)
            {
                serializer.Serialize(writer, v.Value);
            }
            else
            {
                serializer.Serialize(writer, v.Topics);
            }
        }
Пример #7
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
		{
			Bin bin = value as Bin;
		    writer.WriteStartObject();

			Type type = (bin == null) || (bin.Count == 0)? typeof(string) : bin.GetInnerType();

            writer.WritePropertyName(TypeIdentity.Instance[type]);
			writer.WriteStartArray();
			foreach (object o in bin) {
                if (o is Stream)
                {
                    var sr = new StreamReader((Stream)o);
                    serializer.Serialize(writer, sr.ReadToEnd());
                } else serializer.Serialize(writer, o);
			}
			writer.WriteEndArray();

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

            var obj = value as EthFilterOptions;

            if(obj == null)
            {
                throw new ArgumentOutOfRangeException("value");
            }

            writer.WriteStartObject();

            writer.WritePropertyName("fromBlock");
            serializer.Serialize(writer, obj.FromBlock);

            writer.WritePropertyName("toBlock");
            serializer.Serialize(writer, obj.ToBlock);

            writer.WritePropertyName("address");
            serializer.Serialize(writer, obj.Address);

            writer.WritePropertyName("topics");
            if(obj.Topics == null)
            {
                writer.WriteNull();
            }
            else
            {
                bool wrapInArray = obj.Topics.Topics == null;
                if (wrapInArray) writer.WriteStartArray();
                serializer.Serialize(writer, obj.Topics);
                if (wrapInArray) writer.WriteEndArray();
            }

            writer.WriteEndObject();
        }
Пример #9
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if(value == null)
            {
                writer.WriteNull();
                return;
            }

            var obj = value as ShhPost;

            writer.WriteStartObject();

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

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

            writer.WritePropertyName("topics");
            serializer.Serialize(writer, obj.Topics);

            writer.WritePropertyName("payload");
            serializer.Serialize(writer, obj.Payload);

            writer.WritePropertyName("priority");
            serializer.Serialize(writer, obj.Priority);

            writer.WritePropertyName("ttl");
            serializer.Serialize(writer, obj.Ttl);

            writer.WriteEndObject();
        }
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        public override void WriteJson( Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer )
        {
            var catEntry = value as CatalogEntry;
            if( catEntry != null )
            {
                writer.WriteStartObject();
                writer.WritePropertyName( "key" );
                writer.WriteValue( catEntry.Key );

                if( catEntry.Attributes.Length > 0 )
                {
                    writer.WritePropertyName( "attributes" );
                    serializer.Serialize( writer, catEntry.Attributes );
                }
                writer.WriteEndObject();
            }
        }
Пример #11
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            if(value == null)
            {
                writer.WriteNull();
                return;
            }

            DefaultBlock db = value as DefaultBlock;

            if(db == null)
            {
                throw new ArgumentOutOfRangeException("value");
            }

            if (db.BlockNumber.HasValue)
            {
                serializer.Serialize(writer, db.BlockNumber.Value);
            }
            else
            {
                writer.WriteValue(db.Option.ToString().ToLowerInvariant());
            }
        }
Пример #12
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     serializer.Serialize(writer, value);
 }
Пример #13
0
            public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
            {
                NodeState NodeStateFlags = (NodeState)value;
                //Newtonsoft.Json.JsonConvert.SerializeObject

                writer.WriteStartObject();

                //foreach (NodeState CurrentFlag in Enum.GetValues(NodeStateFlags.GetType()))
                foreach (NodeState CurrentFlag in Enum.GetValues(typeof(NodeState)))
                {

                    if ((NodeStateFlags & CurrentFlag) != 0) // if (name.HasFlag(val))
                    {
                        writer.WritePropertyName(CurrentFlag.ToString());
                        serializer.Serialize(writer, "true");
                    } // End if( (NodeStateFlags & CurrentFlag) != 0)

                } // Next CurrentFlag

                writer.WriteEndObject();
            }
 public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     var namedConstant = (NamedConstant)value;
     serializer.Serialize(writer, namedConstant.Key);
 }
Пример #15
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     if (value is Enum)
     {
         var ConvEnumToString = new Newtonsoft.Json.Converters.StringEnumConverter();
         ConvEnumToString.WriteJson(writer, value, serializer);
         ConvEnumToString = null;
         return;
     }
     //else
     serializer.Serialize(writer, value);
 }
Пример #16
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            var message = value as Message;
            writer.WriteStartObject();

            writer.WritePropertyName("Topic");
            writer.WriteValue(message.Topic);

            foreach (var name in message.Fields)
            {
                var bin = message[name];
                var typeRecord = TypeIdentity.Instance[bin.GetInnerType()];

                if (typeRecord == null) continue;
                if (typeRecord.CloneMethod == CloneBehaviour.Null) continue;

                string extraType = "";
                if (!NativeJsonTypes.Contains(bin.GetInnerType()))
                    extraType = "<"+typeRecord.Alias+">";

                writer.WritePropertyName(name + extraType);

                if (bin.Count != 1) writer.WriteStartArray();

                foreach (object o in bin)
                {
                    if (o is Stream)
                    {
                        var sr = new StreamReader((Stream)o);
                        serializer.Serialize(writer, sr.ReadToEnd());
                    }
                    else serializer.Serialize(writer, o, bin.GetInnerType());
                }
                if (bin.Count != 1) writer.WriteEndArray();
            }

            writer.WritePropertyName("Stamp");
            serializer.Serialize(writer, message.TimeStamp, typeof(Time));

            JObject.FromObject(message.TimeStamp, serializer);

            writer.WriteEndObject();
        }
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        public override void WriteJson( Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer )
        {
            var definition = value as AbstractAttributeDefinition;
            if( definition != null )
            {
                writer.WriteStartObject();
                writer.WritePropertyName( "key" );
                writer.WriteValue( definition.Key );
                writer.WritePropertyName( "description" );
                writer.WriteValue( definition.Description );

                var attributeDef = definition as AttributeDefinition;
                if( attributeDef != null )
                {
                    if( attributeDef.Length > 0 )
                    {
                        writer.WritePropertyName( "length" );
                        writer.WriteValue( attributeDef.Length );
                    }
                    writer.WritePropertyName( "type" );
                    serializer.Serialize( writer, attributeDef.Type );
                    writer.WritePropertyName( "definitionType" );
                    writer.WriteValue( "AttributeDefinition" );
                }

                var catalogDef = definition as CatalogAttributeDefinition;
                if( catalogDef != null )
                {
                    writer.WritePropertyName( "catalog" );
                    writer.WriteValue( catalogDef.Catalog );
                    writer.WritePropertyName( "definitionType" );
                    writer.WriteValue( "CatalogAttributeDefinition" );
                }

                writer.WriteEndObject();
            }
        }
Пример #18
0
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        public override void WriteJson( Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer )
        {
            var configuration = value as Configuration;
            if( configuration != null )
            {
                writer.WriteStartObject();

                if(configuration.PartAttributes.Length > 0 )
                {
                    writer.WritePropertyName( "partAttributes" );
                    writer.WriteStartArray();
                    foreach( var att in configuration.PartAttributes )
                    {
                        serializer.Serialize( writer, att );
                    }
                    writer.WriteEndArray();
                }

                if( configuration.CharacteristicAttributes.Length > 0 )
                {
                    writer.WritePropertyName( "characteristicAttributes" );
                    writer.WriteStartArray();
                    foreach( var att in configuration.CharacteristicAttributes )
                    {
                        serializer.Serialize( writer, att );
                    }
                    writer.WriteEndArray();
                }

                if( configuration.MeasurementAttributes.Length > 0 )
                {
                    writer.WritePropertyName( "measurementAttributes" );
                    writer.WriteStartArray();
                    foreach( var att in configuration.MeasurementAttributes )
                    {
                        serializer.Serialize( writer, att );
                    }
                    writer.WriteEndArray();
                }

                if( configuration.ValueAttributes.Length > 0 )
                {
                    writer.WritePropertyName( "valueAttributes" );
                    writer.WriteStartArray();
                    foreach( var att in configuration.ValueAttributes )
                    {
                        serializer.Serialize( writer, att );
                    }
                    writer.WriteEndArray();
                }

                if( configuration.CatalogAttributes.Length > 0 )
                {
                    writer.WritePropertyName( "catalogAttributes" );
                    writer.WriteStartArray();
                    foreach( var att in configuration.CatalogAttributes )
                    {
                        serializer.Serialize( writer, att );
                    }
                    writer.WriteEndArray();
                }

                writer.WriteEndObject();
            }
        }
Пример #19
0
 public void WriteElasticJson(JsonWriter writer, Newtonsoft.Json.JsonSerializer serializer)
 {
     serializer.Serialize(writer, payload);
 }
Пример #20
0
        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        public override void WriteJson( Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer )
        {
            var catalog = (Catalog)value;
            if( catalog.Uuid != Guid.Empty )
            {
                writer.WriteStartObject();

                writer.WritePropertyName( "uuid" );
                writer.WriteValue( catalog.Uuid );

                if( !String.IsNullOrEmpty( catalog.Name ) )
                {
                    writer.WritePropertyName( "name" );
                    writer.WriteValue( catalog.Name );
                }

                if( catalog.ValidAttributes.Length > 0 )
                {
                    writer.WritePropertyName( "validAttributes" );
                    writer.WriteStartArray();
                    foreach( var att in catalog.ValidAttributes )
                    {
                        writer.WriteValue( att );
                    }
                    writer.WriteEndArray();
                }

                if( catalog.CatalogEntries.Length > 0 )
                {
                    writer.WritePropertyName( "catalogEntries" );
                    serializer.Serialize( writer, catalog.CatalogEntries );
                }

                writer.WriteEndObject();
            }
        }
 private static string NewtonsoftJsonSerialize(Newtonsoft.Json.JsonSerializer jsonSerializer, Foo2 foo)
 {
     var sb = new StringBuilder();
     using (var writer = new StringWriter(sb))
     {
         jsonSerializer.Serialize(writer, foo);
     }
     return sb.ToString();
 }
Пример #22
0
        public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) {
            var id = value as CommitId;
            if (id == null) throw new InvalidOperationException("value is not a CommitId");

            serializer.Serialize(writer, "{0},{1}".Fmt(id.Created.Ticks.ToString(), id.Id.ToString()));
        }
Пример #23
-1
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
 {
     var exception = value as System.Exception;
     if (exception != null)
     {
         var resolver = serializer.ContractResolver as Newtonsoft.Json.Serialization.DefaultContractResolver ?? _defaultContractResolver;
 
         var jObject = new Newtonsoft.Json.Linq.JObject();
         jObject.Add(resolver.GetResolvedPropertyName("discriminator"), exception.GetType().Name);
         jObject.Add(resolver.GetResolvedPropertyName("Message"), exception.Message);
         jObject.Add(resolver.GetResolvedPropertyName("StackTrace"), _hideStackTrace ? "HIDDEN" : exception.StackTrace);
         jObject.Add(resolver.GetResolvedPropertyName("Source"), exception.Source);
         jObject.Add(resolver.GetResolvedPropertyName("InnerException"),
             exception.InnerException != null ? Newtonsoft.Json.Linq.JToken.FromObject(exception.InnerException, serializer) : null);
 
         foreach (var property in GetExceptionProperties(value.GetType()))
         {
             var propertyValue = property.Key.GetValue(exception);
             if (propertyValue != null)
             {
                 jObject.AddFirst(new Newtonsoft.Json.Linq.JProperty(resolver.GetResolvedPropertyName(property.Value),
                     Newtonsoft.Json.Linq.JToken.FromObject(propertyValue, serializer)));
             }
         }
 
         value = jObject;
     }
 
     serializer.Serialize(writer, value);
 }