using System.Collections.Generic;
using Newtonsoft.Json.Linq;
public static void Main()
RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);
foreach (Stop stop in obj.Stops)
Console.WriteLine("Value: " + stop.Value);
Console.WriteLine("Color: " + stop.Color);
json = JsonConvert.SerializeObject(obj, Formatting.Indented);
public List<Stop> Stops { get; set; }
[JsonConverter(typeof(StopConverter))]
public decimal Value { get; set; }
public string Color { get; set; }
class StopConverter : JsonConverter
public override bool CanConvert(Type objectType)
return (objectType == typeof(Stop));
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
JArray ja = JArray.Load(reader);
stop.Value = (decimal)ja[0];
stop.Color = (string)ja[1];
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
JArray ja = new JArray();