2016-07-22 14 views
0
{ 
"to" : "required token..", 
"notification" : { 
     "body" : "great match!", 
     "title" : "Portugal vs. Denmark", 
     "icon" : "myicon" 
    }, 
"data": { 
    "id": 1, 
    "action": "load_content", 
    "frequency": 1, 

    "payload": "{\"module\":\"news\",\"id\":32}" 
} 
} 

Code:Firebase Datennutzlast Nachrichten entfernen Sonderzeichen aus Zeichenfolge aus irgendeinem Grund

payload = data.get("payload"); 
Log.i(TAG, " received payload =" + payload); 

Wenn ich die Nutzlast extrahieren, die ich als String bin das Senden und es auf dem logcat ich

bekommen löschte

{ "Modul": "Nachrichten", "id": 32}

Ich möchte die Zeichenfolge beibehalten, wie sie gesendet wird (mit dem '/' darin). Ich bin mir nicht wirklich sicher, warum das passiert. Jede Hilfe würde sehr geschätzt werden.

+0

Was möchten Sie tun dies für Was Sie beschreiben, klingt ziemlich ein [XY Problem] (http://meta.stackexchange.com/questions/66377/what-is- Das-xy-Problem) – adolfosrs

+0

Die Payload-Zeichenfolge würde weiter an ein Javascript-Whi angehängt werden Deshalb brauche ich die Sonderzeichen, um da drin zu sein. final Zeichenfolge javascript = "Funktionsname (\" key \ "," + payload + ")"; die schließlich in webview.evaluateJavascript (javascript .. –

+0

Wie speichern Sie das? Warum speichern Sie es nicht als JSON und nicht eine Zeichenfolge? – adolfosrs

Antwort

0

Derzeit nur Sie sind auf der Flucht das doppelte Anführungszeichen mit \“, wenn Sie den umgekehrten Schrägstrich beibehalten wollen, müssen Sie auch fliehen müssen, dass mit \ Also Ihr resultierende Feld würde wie folgt aussehen:.

"payload": "{\\\"module\\\":\\\"news\\\",\\\"id\\\":32}" 

, die sich ergeben sollte in der Ausgabe, die wie folgt aussieht:?

{\"module\":\"news\",\"id\":32} 
+0

Die Nutzlast ist nur eine Zeichenfolge übergeben und FCM, die ich verwende, sollte nicht wirklich besorgt sein, was ich in eine Zeichenfolge per se. Was Sie vorgeschlagen, ist richtig, aber das kann ich nicht ändern Ich frage mich, warum FCM irgendwelche meiner Daten ändern würde, selbst wenn sie in doppelte Anführungszeichen eingeschlossen und als String übergeben werden –

+0

Ihre Nutzdaten müssen als Java-String interpretiert werden, der Regeln über doppelte enthält Anführungszeichen und umgekehrte Schrägstriche ea string als "{\" modul \ ": \" news \ ", \" id \ ": 32}" wird als interpretiert "{" modul ":" news "," id ": 32}" was passt zu dem, was Sie sehen –

+0

Hey danke das hat geholfen! :) –

Verwandte Themen