示例#1
0
		/// <summary>
		/// Initializes a new instance of the <see cref="JProperty"/> class from another <see cref="JProperty"/> object.
		/// </summary>
		/// <param name="other">A <see cref="JProperty"/> object to copy from.</param>
		public JProperty(JProperty other) : base(other)
		{
			_name = other.Name;
		}
示例#2
0
		/// <summary>
		/// Loads an <see cref="JProperty"/> from a <see cref="JsonReader"/>. 
		/// </summary>
		/// <param name="reader">A <see cref="JsonReader"/> that will be read for the content of the <see cref="JProperty"/>.</param>
		/// <returns>A <see cref="JProperty"/> that contains the JSON that was read from the specified <see cref="JsonReader"/>.</returns>
		public new static JProperty Load(JsonReader reader)
		{
			if (reader.TokenType == JsonToken.None)
			{
				if (!reader.Read())
					throw JsonReaderException.Create(reader, "Error reading JProperty from JsonReader.");
			}

			while (reader.TokenType == JsonToken.Comment)
			{
				reader.Read();
			}

			if (reader.TokenType != JsonToken.PropertyName)
				throw JsonReaderException.Create(reader, "Error reading JProperty from JsonReader. Current JsonReader item is not a property: {0}".FormatWith(CultureInfo.InvariantCulture, reader.TokenType));

			var p = new JProperty((string) reader.Value);
			p.SetLineInfo(reader as IJsonLineInfo);

			p.ReadTokenFrom(reader);

			return p;
		}