Я хочу получить значения из моего json-файла Firebase. В настоящее время я могу добавить значения без проблем, но не могу их прочитать
Я уже пробовал несколько способов зациклить его, но получаю всегдазастрял
это мой json
{
"23ds1f5":{
"email":"email@example.com",
"name":"my name",
"points":0
},
"dsfv57s":{
"email":"email2@example.com",
"name":"this name",
"points":0
},
"r6s7gv98268":{
"email":"lol@example2.com",
"name":"nameHere",
"points":0
}
}
поля "23ds1f5" "dsfv57s" "r6s7gv98268" генерируются автоматически, и я хочу получить имя электронной почты и баллы, это возможно?
это мой код на данный момент
FirebaseResponse response = await client.GetAsync("testing");
Data data = response.ResultAs<Data>();
var json = response.Body;
var firebaseLookup = JsonConvert.DeserializeObject<Data>(json);
Console.WriteLine(json.ToString());
var jsonObject = JObject.Parse(json);
foreach (var tmp in jsonObject) {
Console.WriteLine(tmp.Key);
}
я не знаю, как получить значение, я пробовал такие вещи:
var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
foreach (var kv in dict) {
Console.WriteLine(kv.Key + ":" + kv.Value);
}
но безуспешно
Я хотел бы получить email
от каждого
Обновление: с этим кодом теперь я могу взять свой 1-й элемент, но я не могу получить значение
var jsonObject = JObject.Parse(json);
foreach (var tmp in jsonObject) {
Console.WriteLine(tmp);
}
консоль:
[23ds1f5, {
"email": "email@example.com",
"name": "my name",
"points": 0
}]
Проблема решена !!
Dictionary<string, Data> elist = JsonConvert.DeserializeObject<Dictionary<string, Data>>(json);
foreach (KeyValuePair<string, Data> entry in elist) {
// do something with entry.Value or entry.Key
//Console.WriteLine(entry.Key);
Console.WriteLine(entry.Value.name);
Console.WriteLine(entry.Value.email);
Console.WriteLine(entry.Value.points);
}