C# 如何循环并从firebase Json获取值?
我想从Firebase json文件中获取值 目前,我可以毫无问题地添加值,但我无法读取它 我已经尝试了多种方法来循环它,但我总是被卡住 这是我的jsonC# 如何循环并从firebase Json获取值?,c#,json,firebase,fire-sharp,C#,Json,Firebase,Fire Sharp,我想从Firebase json文件中获取值 目前,我可以毫无问题地添加值,但我无法读取它 我已经尝试了多种方法来循环它,但我总是被卡住 这是我的json { "23ds1f5":{ "email":"email@example.com", "name":"my name", "points":0 }, "dsfv57s":{ "email":"email2@example.com", "name":"th
{
"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);
}
控制台:
[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);
}
Dictionary elist=JsonConvert.DeserializeObject(json);
foreach(elist中的KeyValuePair条目){
//对entry.Value或entry.Key执行某些操作
//控制台写入线(entry.Key);
Console.WriteLine(entry.Value.name);
Console.WriteLine(entry.Value.email);
Console.WriteLine(entry.Value.points);
}
[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);
}