public static void Main()
var model = new myModel()
myString = "foo,bar,baz",
Console.WriteLine("-- Serialize --");
string json = JsonConvert.SerializeObject(model);
Console.WriteLine("\n-- Deserialize --");
model = JsonConvert.DeserializeObject<myModel>(json);
Console.WriteLine(model.myString);
Console.WriteLine(model.myNumber);
[JsonConverter(typeof(CommaSeperatedStringJsonConverter))]
public string myString { get; set; }
public int myNumber { get; set; }
public class CommaSeperatedStringJsonConverter : JsonConverter
public override bool CanConvert(Type objectType)
return objectType == typeof(string);
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
var stringArray = serializer.Deserialize<string[]>(reader);
var str = string.Join(",", stringArray);
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
serializer.Serialize(writer, value.ToString().Split(','), typeof(string[]));