public static World FromJson(JToken jsonObject) { var world = new World((Guid)jsonObject["id"], jsonObject.Value <string>("name"), jsonObject.Value <uint>("engineVersion")); world._boards = BoardCollection <Board> .FromJson(x => Board.FromJson(world, x), jsonObject["boards"]); world.Player = jsonObject["player"].HasValues ? Player.FromJson(jsonObject["player"]) : null; return(world); }