WritePropertyName() 공개 메소드

Writes the property name of a name/value pair of a JSON object.
public WritePropertyName ( string name ) : void
name string The name of the property.
리턴 void
예제 #1
2
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var representation = value as Representation;
            if (representation != null)
                representation.RepopulateHyperMedia();

            var list = (IRepresentationList)value;

            writer.WriteStartObject();
            writer.WritePropertyName("_links");
            serializer.Serialize(writer, list.Links);

            writer.WritePropertyName("_embedded");
            writer.WriteStartObject();
            writer.WritePropertyName(list.Rel);
            writer.WriteStartArray();
            foreach (Representation halResource in list)
            {
                serializer.Serialize(writer, halResource);
            }

            writer.WriteEndArray();
            writer.WriteEndObject();

            var listType = list.GetType();
            var propertyInfos = typeof(RepresentationList<>).GetProperties().Select(p => p.Name);
            foreach (var property in listType.GetProperties().Where(p => !propertyInfos.Contains(p.Name)))
            {
                writer.WritePropertyName(property.Name.ToLower());
                serializer.Serialize(writer, property.GetValue(value, null));
            }

            writer.WriteEndObject();
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var jsonContract = (JsonObjectContract) serializer.ContractResolver.ResolveContract(value.GetType());

            writer.WriteStartObject();

            foreach (var jsonProp in jsonContract.Properties)
            {
                var propValue = jsonProp.ValueProvider.GetValue(value);
                if (propValue == null && serializer.NullValueHandling == NullValueHandling.Ignore)
                    continue;

                if (jsonProp.PropertyName == "vendorExtensions")
                {
                    var vendorExtensions = (IDictionary<string, object>) propValue;
                    if (vendorExtensions.Any())
                    {
                        foreach (var entry in vendorExtensions)
                        {
                            writer.WritePropertyName(entry.Key);
                            serializer.Serialize(writer, entry.Value);
                        }
                    }
                }
                else
                {
                    writer.WritePropertyName(jsonProp.PropertyName);
                    serializer.Serialize(writer, propValue);
                }
            }

            writer.WriteEndObject();
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            FeatureCollectionResult fc = (FeatureCollectionResult)value;

            serializer.Converters.Add(new FeatureResultJsonConverter());
            serializer.Converters.Add(new StringEnumConverter());
            //serializer.Converters.Add(new GeometryConverter());

            writer.WriteStartObject();

            if (fc.Id != null){
                writer.WritePropertyName("id");
                writer.WriteValue(fc.Id);
            }

            if (fc.Properties != null) {
                writer.WritePropertyName("properties");
                serializer.Serialize(writer, (fc.Properties));
            }

            if (fc.FeatureResults != null) {
                writer.WritePropertyName("features");
                serializer.Serialize(writer, fc.FeatureResults.ToArray());
            }

            writer.WritePropertyName("type");
            serializer.Serialize(writer, (fc.Type));

            writer.WriteEndObject();
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			CustomScoreQuery term = (CustomScoreQuery)value;
			if (term != null)
			{
				writer.WriteStartObject();

				writer.WritePropertyName("custom_score");
				writer.WriteStartObject();
				
				writer.WritePropertyName("query");
				serializer.Serialize(writer, term.Query);

				writer.WritePropertyName("script");
				writer.WriteValue(term.Script);
				if (term.Params != null && term.Params.Count > 0)
				{
					writer.WritePropertyName("params");
					writer.WriteStartObject();
					foreach (var filter in term.Params)
					{
						writer.WritePropertyName(filter.Key);
						writer.WriteValue(filter.Value);
					}
					writer.WriteEndObject();
				}
				writer.WriteEndObject();
				writer.WriteEndObject();
			}
		}
예제 #5
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, JsonSerializer serializer)
        {
            FeatureResult f = (FeatureResult)value;

            writer.WriteStartObject();

            if (f.Id != null){
                writer.WritePropertyName("id");
                writer.WriteValue(f.Id);
            }

            if (f.Properties != null) {
                writer.WritePropertyName("properties");
                serializer.Serialize(writer, f.Properties);
            }

            writer.WritePropertyName("type");
            serializer.Serialize(writer, (f.Type));

            if (f.Geometry != null) {
                writer.WritePropertyName("geometry");
                serializer.Serialize(writer, f.Geometry);
            }

            writer.WriteEndObject();
        }
예제 #7
0
파일: Table.cs 프로젝트: BrixIT/CRT-Client
        public void FormatJson(ref JsonWriter writer)
        {
            writer.WriteStartObject();

            writer.WritePropertyName("type");
            writer.WriteValue("table");

            writer.WritePropertyName("headers");
            writer.WriteStartArray();
            foreach(var header in this.headers.ToArray())
            {
                writer.WriteValue(header);
            }
            writer.WriteEndArray();

            writer.WritePropertyName("rows");
            writer.WriteStartArray();
            foreach (var row in this.rows.ToArray())
            {
                writer.WriteStartArray();

                foreach( var field in row)
                {
                    writer.WriteValue(field);
                }

                writer.WriteEndArray();
            }
            writer.WriteEndArray();

            writer.WriteEndObject();
        }
예제 #8
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     // value should be an entity or a collection of entities.
     var singleEntity = !(value is IEnumerable);
     writer.WriteStartObject();
     writer.WritePropertyName("@odata.context");
     writer.WriteValue(GenerateContextUrlString(value, singleEntity));
     if (!singleEntity)
     {
         writer.WritePropertyName("value");
         writer.WriteStartArray();
     }
     if (singleEntity)
     {
         WriteEntity(writer, value);
     }
     else
     {
         foreach (var o in (IEnumerable)value)
         {
             writer.WriteStartObject();
             WriteEntity(writer, o);
             writer.WriteEndObject();
         }
     }
     if (!singleEntity)
     {
         writer.WriteEndArray();
     }
     writer.WriteEndObject();
 }
예제 #9
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var heartActivitiesIntraday = value as HeartActivitiesIntraday;

            //{
            writer.WriteStartObject();

            // "DatasetInterval" : "1"
            writer.WritePropertyName("DatasetInterval");
            writer.WriteValue(heartActivitiesIntraday.DatasetInterval);

            // "DatasetType" : "SecondsHeartrate"
            writer.WritePropertyName("DatasetType");
            writer.WriteValue(heartActivitiesIntraday.DatasetType);

            writer.WritePropertyName("Dataset");
            writer.WriteStartArray();
            foreach (var datasetInverval in heartActivitiesIntraday.Dataset)
            {
                // "Time" : "2008-09-22T14:01:54.9571247Z"
                writer.WritePropertyName("Time");
                writer.WriteValue(datasetInverval.Time.ToString("o"));

                // "Value": 1
                writer.WritePropertyName("Value");
                writer.WriteValue(datasetInverval.Value);

            }
            writer.WriteEndArray();
            
            //}
            writer.WriteEndObject();

        }
예제 #10
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();
        }
예제 #11
0
        public void Write(JsonWriter writer)
        {
            Validate();

            writer.WriteStartObject();

            writer.WritePropertyName("key");
            writer.WriteValue(Key);

            if (!string.IsNullOrEmpty(ChangeMessage))
            {
                writer.WritePropertyName("changeMessage");
                writer.WriteValue(ChangeMessage);
            }

            if (!string.IsNullOrEmpty(Label))
            {
                writer.WritePropertyName("label");
                writer.WriteValue(Label);
            }

            if (TextAlignment != FieldTextAlignment.Unspecified)
            {
                writer.WritePropertyName("textAlignment");
                writer.WriteValue(TextAlignment);
            }

            WriteKeys(writer);

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

            writer.WriteEndObject();
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			MatchAllQuery term = (MatchAllQuery)value;
			if (term != null)
			{
				writer.WriteStartObject();
				writer.WritePropertyName("match_all");
				writer.WriteStartObject();

				if (!string.IsNullOrEmpty(term.NormsField))
				{
					writer.WritePropertyName("norms_field");
					writer.WriteValue(term.NormsField);
				}

				if (term.Boost > 0)
				{
					writer.WritePropertyName("boost");
					writer.WriteValue(term.Boost);
				}

				writer.WriteEndObject();
				writer.WriteEndObject();
			}
		}
예제 #13
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var list = (HalResource)value;

            list.Links.Add(new Link
            {
                Rel = "self",
                Href = list.Href
            });

            writer.WriteStartObject();
            writer.WritePropertyName("_links");
            serializer.Serialize(writer, list.Links);

            writer.WritePropertyName("_embedded");
            writer.WriteStartObject();
            writer.WritePropertyName(list.Rel);
            writer.WriteStartArray();
            foreach (HalResource halResource in (IEnumerable)value)
            {
                serializer.Serialize(writer, halResource);
            }
            writer.WriteEndArray();
            writer.WriteEndObject();
            writer.WriteEndObject();
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var request = value as IRegisterPercolatorRequest;

			if (request == null) return;

			writer.WriteStartObject();

			if (request.Query != null)
			{
				writer.WritePropertyName("query");
				serializer.Serialize(writer, request.Query);
			}

			if (request.Metadata != null)
			{
				foreach(var kv in request.Metadata)
				{
					writer.WritePropertyName(kv.Key);
					writer.WriteValue(kv.Value);
				}
			}

			writer.WriteEndObject();
		}
예제 #15
0
        public void Write(JsonWriter writer)
        {
            Validate();

            writer.WriteStartObject();

            writer.WritePropertyName("proximityUUID");
            writer.WriteValue(ProximityUUID);

            if (!string.IsNullOrEmpty(RelevantText))
            {
                writer.WritePropertyName("relevantText");
                writer.WriteValue(RelevantText);
            }

            if (Minor.HasValue)
            {
                writer.WritePropertyName("minor");
                writer.WriteValue(Minor);
            }

            if (Major.HasValue)
            {
                writer.WritePropertyName("major");
                writer.WriteValue(Major);
            }

            writer.WriteEndObject();
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var request = value as IRegisterPercolatorRequest;

			if (request == null) return;

			writer.WriteStartObject();

			if (request.Query != null)
			{
				writer.WritePropertyName("query");
				serializer.Serialize(writer, request.Query);
			}

			if (request.Metadata != null)
			{
				foreach(var kv in request.Metadata)
				{
					writer.WritePropertyName(kv.Key);
#if DOTNETCORE
					if (kv.Value.GetType().GetTypeInfo().IsValueType)
#else
					if (kv.Value.GetType().IsValueType)
#endif
						writer.WriteValue(kv.Value);
					else
						serializer.Serialize(writer, kv.Value);
				}
			}

			writer.WriteEndObject();
		}
예제 #17
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var model = value as LinkModel;
            if(model!=null)
            {
                writer.WriteStartObject();

                writer.WritePropertyName("href");
                writer.WriteValue(model.Href);

                writer.WritePropertyName("rel");
                writer.WriteValue(model.Rel);

                if(!model.Method.Equals("GET",StringComparison.OrdinalIgnoreCase))
                {
                    writer.WritePropertyName("method");
                    writer.WriteValue(model.Method);
                }

                if(model.IsTemplated)
                {
                    writer.WritePropertyName("isTemplated");
                    writer.WriteValue(model.IsTemplated);
                }

                writer.WriteEndObject();
            }
        }
예제 #18
0
        public override JsonWriter WriteJson(JsonWriter writer)
        {
            if(Filters.Count > 0)
            {
                writer.WritePropertyName("inputs");
                writer.WriteStartObject();

                writer.WritePropertyName("bucket");
                writer.WriteValue(_bucket);

                writer.WritePropertyName("key_filters");
                writer.WriteStartArray();

                Filters.ForEach(f => writer.WriteRawValue(f.ToJsonString()));

                writer.WriteEndArray();
                writer.WriteEndObject();
            }
            else
            {
                writer.WritePropertyName("inputs");
                writer.WriteValue(_bucket);
            }

            return writer;
        }
        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();
        }
예제 #20
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var links = new HashSet<Link>((IList<Link>)value, new LinkEqualityComparer());

            writer.WriteStartObject();

            var lookup = links.ToLookup(l => l.Rel);

            foreach (var rel in lookup)
            {
                writer.WritePropertyName(rel.Key);
                if (rel.Count() > 1)
                    writer.WriteStartArray();
                foreach (var link in rel)
                {
                    writer.WriteStartObject();
                    writer.WritePropertyName("href");
                    writer.WriteValue(ResolveUri(link.Href));

                    if (link.IsTemplated)
                    {
                        writer.WritePropertyName("templated");
                        writer.WriteValue(true);
                    }

                    writer.WriteEndObject();
                }
                if (rel.Count() > 1)
                    writer.WriteEndArray();
            }
            writer.WriteEndObject();
        }
예제 #21
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            switch (serializer.TypeNameHandling)
            {
                case TypeNameHandling.All:
                    writer.WriteStartObject();
                    writer.WritePropertyName("$type", false);

                    switch (serializer.TypeNameAssemblyFormat)
                    {
                        case FormatterAssemblyStyle.Full:
                            writer.WriteValue(value.GetType().AssemblyQualifiedName);
                            break;
                        default:
                            writer.WriteValue(value.GetType().FullName);
                            break;
                    }

                    writer.WritePropertyName("$value", false);
                    writer.WriteValue(value);
                    writer.WriteEndObject();
                    break;
                default:
                    writer.WriteValue(value);
                    break;
            }
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var t = value as ITermsQuery;
			if (t == null) return;

			var settings = serializer.GetConnectionSettings();
			var field = settings.Inferrer.Field(t.Field);

			writer.WriteStartObject();
			{
				if (t.Terms.HasAny())
				{
					writer.WritePropertyName(field);
					serializer.Serialize(writer, t.Terms);
				}
				else if (t.TermsLookup != null)
				{
					writer.WritePropertyName(field);
					serializer.Serialize(writer, t.TermsLookup);
				}
				if (t.Boost.HasValue)
				{
					writer.WritePropertyName("boost");
					writer.WriteValue(t.Boost.Value);
				}
				if (!t.Name.IsNullOrEmpty())
				{
					writer.WritePropertyName("_name");
					writer.WriteValue(t.Name);
				}
			}
			writer.WriteEndObject();
		}
예제 #23
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();
 }
        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();
            }

        }
예제 #25
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();
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			writer.WriteStartObject();

			IPageResponse message = value as IPageResponse;

			if (message != null)
			{
				writer.WritePropertyName("sEcho");
				writer.WriteValue(message.Draw);

				writer.WritePropertyName("iTotalRecords");
				writer.WriteValue(message.TotalRecords);

				writer.WritePropertyName("iTotalDisplayRecords");
				writer.WriteValue(message.TotalFilteredRecords);

				writer.WritePropertyName("aaData");
				serializer.Serialize(writer, message.Data);
			}

			JsonConvertHelper.WriteJson(message, writer, serializer,
				prop => JsonConvertHelper.GetPropertiesFromType(typeof(IPageResponse)).Select(x => x.Name).Contains(prop.Name)
						|| JsonConvertHelper.GetPropertiesFromType(typeof(IPageResponse<>)).Select(x => x.Name).Contains(prop.Name));

			writer.WriteEndObject();
		}
예제 #27
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var links = (IList<Link>) value;
            writer.WriteStartObject();

            foreach (var link in links)
            {
                writer.WritePropertyName(link.Rel);
                writer.WriteStartObject();
                writer.WritePropertyName("href");
                writer.WriteValue(link.Href);

                if (link.IsTemplated)
                {
                    writer.WritePropertyName("isTemplated");
                    writer.WriteValue(true);
                }

                if (!string.IsNullOrWhiteSpace(link.Title))
                {
                    writer.WritePropertyName("title");
                    writer.WriteValue(link.Title);
                }
                

                writer.WriteEndObject();
            }
            writer.WriteEndObject();
        }
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var f = value as IFiltersAggregator;
			if (f == null || f.Filters == null) return;

			writer.WriteStartObject();
			writer.WritePropertyName("filters");

			if (!f.Filters.Any(filter => String.IsNullOrEmpty(filter.FilterName)))
			{
				writer.WriteStartObject();
				foreach (var filter in f.Filters)
				{
					writer.WritePropertyName(filter.FilterName);
					serializer.Serialize(writer, filter);
				}
				writer.WriteEndObject();
			}
			else
			{
				serializer.Serialize(writer, f.Filters);
			}

			writer.WriteEndObject();
		}
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			var function = value as IScoreFunction;
			if (function == null) return;

			writer.WriteStartObject();
			{
				if (function.Filter != null)
				{
					writer.WritePropertyName("filter");
					serializer.Serialize(writer, function.Filter);
				}

				var write = WriteDecay(writer, function as IDecayFunction, serializer)
					|| WriteFieldValueFactor(writer, function as IFieldValueFactorFunction, serializer)
					|| WriteRandomScore(writer, function as IRandomScoreFunction, serializer)
					|| WriteScriptScore(writer, function as IScriptScoreFunction, serializer)
					|| WriteWeightFunction(writer, function as IWeightFunction, serializer);
				if (!write) throw new Exception($"Can not write function score json for {function.GetType().Name}");

				if (function.Weight.HasValue)
				{
					writer.WritePropertyName("weight");
					serializer.Serialize(writer, function.Weight.Value);
				}

			}
			writer.WriteEndObject();
		}
		public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
		{
			FieldQuery term = (FieldQuery)value;
			if (term != null)
			{
				writer.WriteStartObject();
				writer.WritePropertyName("field");
				writer.WriteStartObject();
				writer.WritePropertyName(term.Field);
				writer.WriteValue(term.QueryString);
				
				if(!term.Boost.Equals(default(float)))
				{
					writer.WritePropertyName("boost");
					writer.WriteValue(term.Boost);	
				}

				if (term.EnablePositionIncrements != default(bool))
				{
					writer.WritePropertyName("enable_position_increments");
					writer.WriteValue(term.EnablePositionIncrements.ToString().ToLower());
				}

				writer.WriteEndObject();
				writer.WriteEndObject();
			}
		}
예제 #31
0
        void ParseGroup(TextGroupDefinition group)
        {
            _writer.WritePropertyName(group.Name);
            if (!group.RecordBreakOnLine)
            {
                _writer.WriteStartObject();
            }
            else
            {
                _writer.WriteStartArray();
            }
            int lineNo = 0;

            while (!_reader.EndOfStream)
            {
                if (_line == null || lineNo > 0)
                {
                    _line = _reader.ReadLine();
                }
                lineNo++;
                if (_line.Trim() != string.Empty && lineNo >= group.ElementsStartOnLine)
                {
                    if (group.EndString != null && _line.Contains(group.EndString))
                    {
                        break;
                    }
                    if (group.RecordBreakOnLine)
                    {
                        _writer.WriteStartObject();
                    }

                    foreach (var subGroup in group.Groups)
                    {
                        if (_line.Contains(subGroup.StartString))
                        {
                            ParseGroup(subGroup);
                        }
                    }

                    foreach (var element in group.Elements)
                    {
                        ParseElement(element, lineNo);
                    }
                    if (group.RecordBreakOnLine)
                    {
                        _writer.WriteEnd();
                    }
                }
            }
            _writer.WriteEnd();              // object or array
        }
예제 #32
0
        public override void WriteJson(Newton.JsonWriter writer, object value, Newton.JsonSerializer serializer)
        {
            var lazyMgr = value as ILazyManager;

            writer.WriteStartObject();

            var contract = (Newton.Serialization.JsonObjectContract)serializer.ContractResolver.ResolveContract(value.GetType());

            foreach (var property in contract.Properties)
            {
                if (lazyMgr.IsValueCreated(property.PropertyName))
                {
                    var pValue = property.ValueProvider.GetValue(value);
                    if (pValue == null && serializer.NullValueHandling == Newton.NullValueHandling.Ignore)
                    {
                        continue;
                    }

                    writer.WritePropertyName(property.PropertyName);
                    serializer.Serialize(writer, pValue);
                }
            }

            writer.WriteEndObject();
        }
예제 #33
0
 public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("notWrittenByDefaultSerializer");
     writer.WriteValue("written");
     writer.WriteEndObject();
 }
 public void WriteToJson(Newtonsoft.Json.JsonWriter writer)
 {
     writer.WriteStartObject();
     writer.WritePropertyName("name");
     writer.WriteValue(this.Name);
     writer.WritePropertyName("prop");
     writer.WriteValue(this.Prop);
     writer.WritePropertyName("rotation");
     writer.WriteStartArray();
     foreach (Rotation r in this.Rotations)
     {
         r.WriteToJson(writer);
     }
     writer.WriteEndArray();
     writer.WriteEndObject();
 }
 private void WriteConnectedObjects(ChildTableQuery ctq, SQLiteDataReader sdr, Newtonsoft.Json.JsonWriter wr, bool includeThids)
 {
     //string value;
     wr.WritePropertyName(ctq.Connection.FullName);
     wr.WriteStartArray();
     while (sdr.Read())
     {
         wr.WriteStartObject();
         if (_settings.IncludeConnectionInfo)
         {
             wr.WritePropertyName("Connection");
             wr.WriteValue(ctq.Connection.Name);
             wr.WritePropertyName("ToCategory");
             wr.WriteValue(ctq.Connection.ToCategory);
         }
         WriteObjects(sdr, wr, includeThids);
         wr.WriteEndObject();
     }
     wr.WriteEndArray();
 }
예제 #36
0
        public override void WriteJson(Newton.JsonWriter writer, object value, Newton.JsonSerializer serializer)
        {
            var result = value as IResult;

            writer.WriteStartObject();

            writer.WritePropertyName("succeed");
            serializer.Serialize(writer, result.Succeed);

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

            if (!string.IsNullOrEmpty(result.Message))
            {
                writer.WritePropertyName("msg");
                serializer.Serialize(writer, result.Message);
            }

            writer.WriteEndObject();
        }
예제 #37
0
        public override void WriteJson(JsonWriter writer, JsonApiRelationshipObjectBase value, JsonSerializer serializer)
        {
            if (value == null)
            {
                return;
            }
            // write "{"
            writer.WriteStartObject();
            // write "data:"
            writer.WritePropertyName("data");

            switch (value)
            {
            case JsonApiToOneRelationshipObject valueToOne:
                WriteToOneRelationship(writer, valueToOne, serializer);
                break;

            case JsonApiToManyRelationshipObject valueToMany:
                WriteToManyRelationship(writer, valueToMany, serializer);
                break;

            default:
                throw new ArgumentException($"{nameof(JsonApiRelationshipObjectConverter)}.{nameof(WriteJson)}: {nameof(value)} does not have a supported type. Found type: {value.GetType().Name}", nameof(value));
            }

            if (value.Links != null)
            {
                // write "links:"
                writer.WritePropertyName("links");
                serializer.Serialize(writer, value.Links);
            }
            if (value.Meta != null)
            {
                // write "meta:"
                writer.WritePropertyName("meta");
                serializer.Serialize(writer, value.Meta);
            }
            // write "}"
            writer.WriteEndObject();
        }
예제 #38
0
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            ConfigItemCollection items = (ConfigItemCollection)value;

            if (value != null && items.Count > 0)
            {
                foreach (ConfigItem item in items)
                {
                    writer.WritePropertyName(items.CamelName ? Ext.Net.Utilities.StringUtils.ToLowerCamelCase(item.Name) : item.Name);
                    writer.WriteRawValue(item.ValueToString());
                }
            }
        }
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, JsonSerializer serializer)
        {
            DynamicConfigDictionary config = (DynamicConfigDictionary)value;

            if (config != null)
            {
                var keys = config.GetDynamicMemberNames();

                foreach (string key in keys)
                {
                    writer.WritePropertyName(Ext.Net.Utilities.StringUtils.ToLowerCamelCase(key));
                    writer.WriteRawValue(JSON.Serialize(config.GetDynamicValue(key), new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()));
                }
            }
        }
        }                         // method

        private void WriteObjects(SQLiteDataReader reader, Newtonsoft.Json.JsonWriter wr, bool includeThids)
        {
            string value;

            for (int col = 0; col < reader.FieldCount; col++)
            {
                // include thid as fieldvalue in output?
                if (col == 0 && !includeThids)
                {
                    continue;
                }
                value = reader[col].ToString();
                // time and date fields have no original name
                if (string.IsNullOrEmpty(reader.GetOriginalName(col)))
                {
                    value = GetShortDateOrTime(value);
                }
                wr.WritePropertyName(reader.GetName(col));
                wr.WriteValue(value);
            }
        }
예제 #41
0
 public void WriteJson(Newtonsoft.Json.JsonWriter writer)
 {
     writer.WritePropertyName(Name);
     writer.WriteValue(Function);
 }
        public void WriteToJson(Newtonsoft.Json.JsonWriter writer)
        {
            writer.WriteStartObject();

            writer.WritePropertyName("title_1");
            writer.WriteValue(Title.Length > 0 ? Title[0] : "");

            writer.WritePropertyName("title_2");
            writer.WriteValue(Title.Length > 1 ? Title[1] : "");

            writer.WritePropertyName("colour");
            if (Color == null)
            {
                new RgbColor(255, 255, 255).WriteToJson(writer);
            }
            else
            {
                Color.WriteToJson(writer);
            }

            writer.WritePropertyName("weight");
            writer.WriteValue(Weight);

            // Write descriptions
            for (int i = 0; i < Description.Length; i++)
            {
                writer.WritePropertyName("description_" + (i + 1));
                writer.WriteValue(Description[i]);
            }
            for (int i = Description.Length; i < 10; i++)
            {
                writer.WritePropertyName("description_" + (i + 1));
                writer.WriteValue("");
            }

            writer.WritePropertyName("preview_scale");
            writer.WriteValue(PreviewScale);

            // Write preview offset if not default
            if (PreviewOffset != NoOffset && (PreviewOffset != null && PreviewOffset.Length == 3))
            {
                writer.WritePropertyName("preview_offset");
                writer.WriteStartObject();
                writer.WritePropertyName("x");
                writer.WriteValue(PreviewOffset[0]);
                writer.WritePropertyName("y");
                writer.WriteValue(PreviewOffset[1]);
                writer.WritePropertyName("z");
                writer.WriteValue(PreviewOffset[2]);
                writer.WriteEndObject();
            }

            writer.WriteEndObject();
        }
예제 #43
0
        /// <summary>
        /// Writes the json.
        /// </summary>
        /// <param name="writer">The writer.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The serializer.</param>
        public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
        {
            DataTable table = value as DataTable;

            writer.WriteStartObject();

            writer.WritePropertyName("TableName");
            writer.WriteValue(table.TableName);

            writer.WritePropertyName("Columns");
            writer.WriteStartArray();

            foreach (DataColumn column in table.Columns)
            {
                writer.WriteStartObject();

                writer.WritePropertyName("AllowDBNull");
                writer.WriteValue(column.AllowDBNull);
                writer.WritePropertyName("AutoIncrement");
                writer.WriteValue(column.AutoIncrement);
                writer.WritePropertyName("AutoIncrementSeed");
                writer.WriteValue(column.AutoIncrementSeed);
                writer.WritePropertyName("AutoIncrementStep");
                writer.WriteValue(column.AutoIncrementStep);
                writer.WritePropertyName("Caption");
                writer.WriteValue(column.Caption);
                writer.WritePropertyName("ColumnName");
                writer.WriteValue(column.ColumnName);
                writer.WritePropertyName("DataType");
                writer.WriteValue(column.DataType.Name);
                writer.WritePropertyName("DateTimeMode");
                writer.WriteValue(column.DateTimeMode.ToString());
                writer.WritePropertyName("DefaultValue");
                writer.WriteValue(column.DefaultValue);
                writer.WritePropertyName("MaxLength");
                writer.WriteValue(column.MaxLength);
                writer.WritePropertyName("Ordinal");
                writer.WriteValue(column.Ordinal);
                writer.WritePropertyName("ReadOnly");
                writer.WriteValue(column.ReadOnly);
                writer.WritePropertyName("Unique");
                writer.WriteValue(column.Unique);

                writer.WriteEndObject();
            }

            writer.WriteEndArray();

            writer.WritePropertyName("Rows");
            writer.WriteStartArray();

            foreach (DataRow row in table.Rows)
            {
                if (row.RowState != DataRowState.Deleted && row.RowState != DataRowState.Detached)
                {
                    writer.WriteStartArray();

                    for (int index = 0; index <= table.Columns.Count - 1; index++)
                    {
                        writer.WriteValue(row[index]);
                    }

                    writer.WriteEndArray();
                }
            }

            writer.WriteEndArray();

            // Write out primary key if the table has one. This will be useful when deserializing the table.
            // We will write it out as an array of column names
            writer.WritePropertyName("PrimaryKey");
            writer.WriteStartArray();
            if (table.PrimaryKey.Length > 0)
            {
                foreach (DataColumn column in table.PrimaryKey)
                {
                    writer.WriteValue(column.ColumnName);
                }
            }
            writer.WriteEndArray();

            writer.WriteEndObject();
        }