Возможная причина - контекст диалогового окна предупреждения. Вы можете завершить эту деятельность, чтобы ее попытка открыть в этом контексте, но которая уже закрыта. Попробуйте изменить контекст этого диалогового окна на первую операцию, потому что она не будет закончена до конца.
, например
, а не это.
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
попробуйте использовать
AlertDialog alertDialog = new AlertDialog.Builder(FirstActivity.getInstance()).create();
Я предполагаю, что этот json хранится в строке, скажем, называется json ... поэтому попробуйте
string json = "...";
JObject obj = JsonConvert.DeserializeObject<JObject>(json);
JObject innerObj = obj["unashamedohio"] as JObject;
int lolSummorLvl = (int) innerObj["summonerLevel"];
Вы можете использовать ключевое слово dynamic
dynamic obj = JsonConvert.DeserializeObject(json);
Console.WriteLine(obj.unashamedohio.summonerLevel);
У вас есть пара возможностей (как уже было показано в других ответах). Другой возможностью было бы использовать свойства JObject
и JProperty
, предоставленные Json.Net, для того, чтобы непосредственно получить значение, подобное этому:
var jsonObject = (JObject)JsonConvert.DeserializeObject(json);
var unashamedohio = (JObject)(jsonObject.Property("unashamedohio").Value);
var summonerLevel = unashamedohio.Property("summonerLevel");
Console.WriteLine(summonerLevel.Value);
Еще одна возможность заключалась бы в создании типизированного модель структуры JSON:
public class AnonymousClass
{
public UnashamedOhio unashamedohio { get; set; }
}
public class UnashamedOhio
{
public int summonerLevel { get; set; }
}
и использовать ее для извлечения значения:
var ao = JsonConvert.DeserializeObject<AnonymousClass>(json);
Console.WriteLine(ao.unashamedohio.summonerLevel);
Оба решения печатают одно и то же значение: 30
.
IMO вы должны использовать всегда набранные модели, когда это возможно, и если вы делаете много полезной информации из структур JSON. Он обеспечивает проверку ошибок в среде IDE (в отличие от динамической), которая выплачивается во время выполнения.