using System.Collections.Generic;
public string id {get;set;}
public string name {get;set;}
public string type {get;set;}
public string text {get;set;}
public string faction {get;set;}
public static void Main()
var readContents2 = @"{""Basic"":[
{""id"":""GAME_004"",""name"":""AFK"",""type"":""Enchantment"",""text"":""Your turns are shorter.""},
{""id"":""EX1_066"",""name"":""Acidic Swamp Ooze"",""type"":""Minion"",""faction"":""Alliance"",""rarity"":""Common"",""cost"":2,""attack"":3,""health"":2,""text"":""<b>Battlecry:</b> Destroy your opponent's weapon."",""flavor"":""Oozes love Flamenco. Don't ask."",""artist"":""Chris Rahn"",""collectible"":true,""howToGetGold"":""Unlocked at Rogue Level 57."",""mechanics"":[""Battlecry""]}
var cards = JsonConvert.DeserializeObject<IDictionary<string, IList<Card>>>(readContents2);
foreach(var kvp in cards)
Console.WriteLine(kvp.Key);
foreach (var card in kvp.Value)
Console.WriteLine(" Card = id:" + card.id);