本文整理汇总了C#中Raven.Imports.Newtonsoft.Json.JsonWriter.WriteValue方法的典型用法代码示例。如果您正苦于以下问题:C# JsonWriter.WriteValue方法的具体用法?C# JsonWriter.WriteValue怎么用?C# JsonWriter.WriteValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Raven.Imports.Newtonsoft.Json.JsonWriter
的用法示例。
在下文中一共展示了JsonWriter.WriteValue方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WriteJson
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();
}
示例2: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
if (value == null)
writer.WriteValue((object)null);
else
writer.WriteValue(_wktWriter.Write(value));
}
示例3: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
if(value is DateTime)
{
var dateTime = ((DateTime)value);
if (dateTime.Kind == DateTimeKind.Unspecified)
dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Local);
var postFix = dateTime.Kind == DateTimeKind.Utc ? "Z" : "";
writer.WriteValue(dateTime.ToString(Default.DateTimeFormatsToWrite + postFix, CultureInfo.InvariantCulture));
}
else if (value is DateTimeOffset)
{
var dateTimeOffset = ((DateTimeOffset) value);
if(dateTimeOffset.Offset==TimeSpan.Zero)
{
writer.WriteValue(dateTimeOffset.UtcDateTime.ToString(Default.DateTimeFormatsToWrite, CultureInfo.InvariantCulture) + "Z");
}
else
{
writer.WriteValue(dateTimeOffset.ToString(Default.DateTimeOffsetFormatsToWrite, CultureInfo.InvariantCulture));
}
}
else
throw new ArgumentException(string.Format("Not idea how to process argument: '{0}'", value));
}
示例4: WriteJsonCoordinate
private static void WriteJsonCoordinate(JsonWriter writer, Coordinate coordinate, JsonSerializer serializer)
{
writer.WriteStartArray();
writer.WriteValue(coordinate.X);
writer.WriteValue(coordinate.Y);
if (!Double.IsNaN(coordinate.Z))
writer.WriteValue(coordinate.Z);
writer.WriteEndArray();
}
示例5: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
Envelope envelope = value as Envelope;
if (envelope == null) return;
writer.WritePropertyName("bbox");
writer.WriteStartArray();
writer.WriteValue(envelope.MinX);
writer.WriteValue(envelope.MinY);
writer.WriteValue(envelope.MaxX);
writer.WriteValue(envelope.MaxY);
writer.WriteEndArray();
}
示例6: WriteJson
/// <summary>
/// Writes the JSON representation of the object.
/// </summary>
/// <param name="writer">The <see cref="T:Raven.Imports.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();
return;
}
if (value.GetType() == typeof (object))
{
writer.WriteStartObject();
writer.WriteEndObject();
return;
}
var dynamicValue = ((IDynamicMetaObjectProvider) value).GetMetaObject(Expression.Constant(value));
writer.WriteStartObject();
foreach (var dynamicMemberName in dynamicValue.GetDynamicMemberNames())
{
writer.WritePropertyName(dynamicMemberName);
var memberValue = DynamicUtil.GetValueDynamically(value, dynamicMemberName);
if(memberValue == null || memberValue is ValueType || memberValue is string)
writer.WriteValue(memberValue);
else
serializer.Serialize(writer, memberValue);
}
writer.WriteEndObject();
}
示例7: TryWriteFeature
public bool TryWriteFeature(JsonWriter writer, object value, JsonSerializer serializer)
{
if (!_shapeConverter.CanConvert(ObjectType.Feature))
return false;
ObjectType geomType = _shapeConverter.GetObjectType(value);
if (geomType != ObjectType.Feature)
return false;
writer.WriteStartObject();
writer.WritePropertyName("type");
writer.WriteValue(Enum.GetName(typeof(ObjectType), ObjectType.Feature));
object id;
Dictionary<string, object> props;
var geometry = _shapeConverter.FromFeature(value, out id, out props);
if (id != null)
{
writer.WritePropertyName("id");
serializer.Serialize(writer, id);
}
if (props != null && props.Count > 0)
{
writer.WritePropertyName("properties");
serializer.Serialize(writer, props);
}
writer.WritePropertyName("geometry");
serializer.Serialize(writer, geometry);
writer.WriteEndObject();
return true;
}
示例8: WriteJson
/// <summary>
/// Writes the JSON representation of the object.
/// </summary>
/// <param name="writer">The <see cref="T:Raven.Imports.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());
}
示例9: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var slice = (Slice) value;
var buffer = new byte[slice.Count];
Buffer.BlockCopy(slice.Array, slice.Offset, buffer, 0, slice.Count);
writer.WriteValue(buffer);
writer.WriteComment(slice.DebugVal);
}
示例10: WriteJson
/// <summary>
/// Writes the JSON representation of the object.
/// </summary>
/// <remarks>This will enumerate the Linq-To-Entities query before serializing it to json array</remarks>
/// <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 enumerable = (IEnumerable) value;
writer.WriteStartArray();
foreach(var item in enumerable)
writer.WriteValue(item);
writer.WriteEndArray();
}
示例11: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
if(value is DateTime)
{
var dateTime = ((DateTime)value);
if (dateTime.Kind == DateTimeKind.Unspecified)
dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Local);
writer.WriteValue(dateTime.GetDefaultRavenFormat(dateTime.Kind == DateTimeKind.Utc));
}
else if (value is DateTimeOffset)
{
var dateTimeOffset = ((DateTimeOffset) value);
writer.WriteValue(dateTimeOffset.ToString(Default.DateTimeOffsetFormatsToWrite, CultureInfo.InvariantCulture));
}
else
throw new ArgumentException(string.Format("Not idea how to process argument: '{0}'", value));
}
示例12: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var etag = value as Etag;
if (etag == null)
writer.WriteNull();
else
writer.WriteValue(etag.ToString());
}
示例13: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
System.Net.IPEndPoint ep = (System.Net.IPEndPoint)value;
writer.WriteStartObject();
writer.WritePropertyName("Address");
serializer.Serialize(writer, ep.Address.ToString());
writer.WritePropertyName("Port");
writer.WriteValue(ep.Port);
writer.WriteEndObject();
}
示例14: WriteJson
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var coordinate = value as Coordinate;
if (coordinate == null)
{
writer.WriteNull();
return;
}
writer.WriteStartArray();
writer.WriteValue(coordinate.Longitude);
writer.WriteValue(coordinate.Latitude);
if (coordinate.Is3D || coordinate.IsMeasured)
writer.WriteValue(((Is3D)coordinate).Elevation);
if (coordinate.IsMeasured)
writer.WriteValue(((IsMeasured)coordinate).Measure);
writer.WriteEndArray();
}
示例15: WriteModelMetaData
private void WriteModelMetaData(JsonWriter writer, Model.MetaData obj) {
var t = obj.GetType();
var properties = t.GetProperties();
writer.WriteStartObject();
foreach (var property in properties) {
writer.WritePropertyName(property.Name);
writer.WriteValue(property.GetValue(obj));
}
writer.WriteEndObject();
}