public void readJsonfromGoogle(string txt) { Console.WriteLine(txt); pStoreItems.Clear(); JsonReader jsonReader = new JsonReader(); Dictionary <string, object> dictionary = (Dictionary <string, object>)jsonReader.Read(txt); dictionary = (Dictionary <string, object>)dictionary["feed"]; if (!dictionary.ContainsKey("entry")) { this.pstore.removeAllMessages(); return; } Dictionary <string, object>[] entrys = (Dictionary <string, object>[])dictionary["entry"]; for (int i = 0; i < entrys.GetLength(0); i++) { sharedItem si = new sharedItem(); dictionary = (Dictionary <string, object>)entrys[i]["gsx$timestamp"]; si.time = (string)dictionary["$t"]; dictionary = (Dictionary <string, object>)entrys[i]["gsx$status"]; si.status = (string)dictionary["$t"]; dictionary = (Dictionary <string, object>)entrys[i]["gsx$id"]; si.id = (string)dictionary["$t"]; dictionary = (Dictionary <string, object>)entrys[i]["gsx$seller"]; si.seller = (string)dictionary["$t"]; //clear the database (its googles job, but he may be to slow) if (si.status.StartsWith("SOLD") && si.id.Split(';')[3] != App.MyProfile.ProfileInfo.id) { continue; } if (si.status.StartsWith("BUY")) { this.pStoreItems.RemoveAll(x => x.id == si.id && si.status.StartsWith("active")); // remove all with active und same id if (si.id.Split(';')[3] != App.MyProfile.ProfileInfo.id) //if not my id, ignore them { continue; } } if (si.status.StartsWith("DELETE")) // delete the auctions (even if they are mine) { foreach (string a in si.id.Split(',')) { this.pStoreItems.RemoveAll(x => x.id == a); } continue; } this.pStoreItems.Add(si); Console.WriteLine(si.status + " " + si.id); } //addDataToPlayerStore(); }
public void readJsonfromGoogle(string txt) { Console.WriteLine(txt); JsonReader jsonReader = new JsonReader(); Dictionary<string, object> dictionary = (Dictionary<string, object>)jsonReader.Read(txt); dictionary = (Dictionary<string, object>)dictionary["feed"]; Dictionary<string, object>[] entrys = (Dictionary<string, object>[])dictionary["entry"]; sharedDecks.Clear(); for (int i = 0; i < entrys.GetLength(0); i++) { sharedItem si = new sharedItem(); dictionary = (Dictionary<string, object>)entrys[i]["gsx$timestamp"]; si.time = (string)dictionary["$t"]; dictionary = (Dictionary<string, object>)entrys[i]["gsx$playername"]; si.player = (string)dictionary["$t"]; dictionary = (Dictionary<string, object>)entrys[i]["gsx$link"]; si.link = (string)dictionary["$t"]; dictionary = (Dictionary<string, object>)entrys[i]["gsx$deckname"]; si.deckname = (string)dictionary["$t"]; dictionary = (Dictionary<string, object>)entrys[i]["gsx$description"]; si.desc = (string)dictionary["$t"]; if (si.link.StartsWith("DELETE")) continue; this.sharedDecks.Add(si); Console.WriteLine(si.player + " " + si.deckname); } }