using Newtonsoft.Json.Serialization;
using System.Collections.Generic;
[JsonProperty("$type")] public string Type { get; set; }
[JsonProperty("$values")] public List<JsonTest> Values { get; set; }
public class JsonStorage2
[JsonProperty("type")] public string Type { get; set; }
[JsonProperty("values")] public List<JsonTest> Values { get; set; }
[JsonProperty("Name")] public string Name { get; set; }
[JsonProperty("Id")] public string Id { get; set; }
public static void Main()
var json = @"{""$type"": ""some type"",""$values"": [{""type"": ""some type"",""Name"": """",""Id"": ""someValue"",}]}";
var result = JsonConvert.DeserializeObject<JsonStorage>(json);
Console.WriteLine("JsonStorage " + result.Values[0].Id.ToString());
Console.WriteLine(ex.ToString());
var result = JsonConvert.DeserializeObject<JsonStorage2>(json.Replace("$type","type").Replace("$values","values"));
Console.WriteLine("JsonStorage2 " + result.Values[0].Id.ToString());
Console.WriteLine(ex.ToString());