Hi im new to firebase and trying to retrieve data from realtime database with nested data. The problem is when im trying to retrieve without the specific key it wont retrieve and will give me the error:
Unexpected character encountered while parsing value: [. Path '['Loubert Anne'].Date', line 1, position 40.
private void frm_Attendance_Load(object sender, EventArgs e) {
try {
client = new FireSharp.FirebaseClient(fcon);
FirebaseResponse res = client.Get("Users");
Dictionary < string, Names > data = JsonConvert.DeserializeObject < Dictionary < string, Names >> (res.Body.ToString());
PopulateDataGrid(data);
} catch {
MessageBox.Show("Connection failure");
}
}
private void PopulateDataGrid(Dictionary < string, Names > record) {
dataGridView1.Rows.Clear();
dataGridView1.Columns.Clear();
dataGridView1.Columns.Add("fullname", "FullName");
dataGridView1.Columns.Add("category", "Category");
dataGridView1.Columns.Add("date", "Date");
dataGridView1.Columns.Add("timein", "TimeIn");
dataGridView1.Columns.Add("timeout", "TimeOut");
dataGridView1.Columns.Add("duration", "Duration");
dataGridView1.Columns.Add("remarks", "Remarks");
dataGridView1.Columns.Add("status", "Status");
foreach(var item1 in record) {
FirebaseResponse resp = client.Get("Users/" + item1.Key);
Dictionary < string, Datas > datas = JsonConvert.DeserializeObject < Dictionary < string, Datas >> (resp.Body.ToString());
foreach(var item2 in datas) {
dataGridView1.Rows.Add(item1.Key, item1.Value.Category, item2.Value.Date, item2.Value.TimeIn, item2.Value.TimeOut, item2.Value.Duration, item2.Value.Remarks, item1.Value.Status);
}
}
}
Names.cs
class Names
{
public string Fullname { get; set; }
public string Category { get; set; }
public string Status { get; set; }
public string Date { get; set; }
public string Duration { get; set; }
public string Remarks { get; set; }
public string TimeIn { get; set; }
public string TimeOut { get; set; }
}
and this is the [Nested Database][1] that im trying to retrieve
