using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
public static void Main()
var partitionKeyValue = "39393939";
var requestOptions = new RequestOptions
PartitionKey = new PartitionKey(partitionKeyValue)
var data = JsonConvert.SerializeObject(requestOptions, Formatting.Indented, new PartitionKeyConverter());
var requestOptions1 = JsonConvert.DeserializeObject<RequestOptions>(data, new PartitionKeyConverter());
Console.WriteLine(requestOptions1.PartitionKey);
public class PartitionKeyConverter : JsonConverter
public override bool CanConvert(Type objectType)
return objectType == typeof(PartitionKey);
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
string s = (string)reader.Value;
return s != null ? PartitionKey.FromJsonString(s) : null;
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
writer.WriteValue(value.ToString());