2016-03-26 2 views
1
Map<String, String> map =dataSnapshot.getValue(Map.class); 

       String MR_ID = map.get("MR_ID"); 
       String JOB_TITLE = map.get("JOB_TITLE"); 
       String JOB_TYPE = map.get("JOB_TYPE"); 
       String Delv_ADDR=map.get("Delv_ADDR"); 

DataSnapshot {key = platformdb, value = {MR_RELATIONS = {KUNDEN = {ORDERS = {INVENTORY =, Delv_ADDR = D-103 LaxmiNagar Neu-Delhi, ORDER_ID = }}}, MR_SCHEDULE = {MR_ID =, JOB_TITLE =, GEO_LINK =, JOB_TYPE = {TSP = {TSP_ADDR =, TSP_ID =, GEO_LINK =, TSP_NAME =}, SCC = {SCC_ID =, SCC_ADDR =, GEO_LINK =, SCC_NAME =}, CUSTOMER = {GEO_LINK =, CUST_NAME =, CUST_ID =, CUST_ADDR =}}, JOB_ID =, TRANS_SRC =, TRANS_DEST =}, MR_POOL = {FREE_MR =, BUSY_MR = {77889992222 = {IS_BUSY = false, GEO_LINK = 8yyttrd}}}}}wie Parse Map Wert Daten in android

Dies ist meine Daten, die ich in der Karte bekomme ich parsen wollen und und den Wert von Delv_ADDR zu erhalten, aber ich bin nicht in der Lage i Nullwert immer bin mir bitte bekommen vorschlagen, wie Daten, dass

Antwort

0

zu erhalten Von der angehängten Eingabe scheint es, dass es nur einen Eintrag in der Karte mit dem Schlüssel platformdb und dem Wert MR_RELATIONS=... gibt.

Wenn Sie String MR_ID = map.get("MR_ID"); tun, wird es wahrscheinlich Sie null zurückgeben, da es keinen Eintrag in der Karte mit Schlüssel MR_ID gibt.

Was sollten Sie stattdessen tun ist, den Wert gegen den Schlüssel abrufen, indem Sie wie folgt vorgehen:

String response = map.get("platformdb"); 

Und dann diese Antwort String analysieren die gewünschten Werte zu extrahieren.

Da die Antwort nicht JSON zu sein scheint, können Sie versuchen, native String-Funktionen zu verwenden.

Zum Beispiel MR_ID von Antwort zu extrahieren Sie folgendes tun:

String response = map.get("platformdb"); 
String MR_ID = response.substring(response.indexOf("MR_ID=") + 6, 
            response.indexOf("MR_ID=") + response.indexOf(",")); 
String Delv_ADDR = response.substring(response.indexOf("Delv_ADDR=") + 10, 
            response.indexOf("Delv_ADDR=") + response.indexOf(",")); 
+0

seine nicht JSON-Daten, weil = seine nicht: –

+0

@ResearchDevelopment Ja, Sie haben Recht. Sie können versuchen, native Funktionen zu verwenden. Sehen Sie sich die aktualisierte Antwort an. – user2004685