Are you looking for something like this :) (Using Json.Net)
var flights = JObject.Parse(json)
.Children().Cast<JProperty>()
.Select(p => new { Key = p.Name, Values = p.Value.ToArray() })
.Select(j => new
{
id = j.Key,
hex = (string)j.Values[0],
lat = double.Parse(j.Values[1].ToString(), CultureInfo.InvariantCulture),
lon = double.Parse(j.Values[2].ToString(), CultureInfo.InvariantCulture),
dir = (int)j.Values[3],
alt = (int)j.Values[4],
speed = (int)j.Values[5],
radar = (string)j.Values[7],
plane = (string)j.Values[8],
reg = (string)j.Values[9],
time = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromSeconds((int)j.Values[10])),
from = (string)j.Values[11],
to = (string)j.Values[12],
callsign = (string)j.Values[13],
})
.ToList();