Seite 1 von 1
[V4.0.1] HTTP-API: String wird vor Versenden eines JSON verändert (Backslash-Anführungszeichen)
Verfasst: So Aug 04, 2024 10:38 pm
von hans4711
Hallo Zusammen,
ich brauche für eine HTTP-API Anfrage ein JSON im Body welches ich durch eine String-Logik erzeuge. Der String kommt auch korrekt als Objekt-Anfrage an:
Beim Absenden wird jedoch aus jedem Anführungszeichen ein Backslash-Anführungszeichen:
Als Fehler bekomme ich dann:
Wie kann ich verhindern das die HTTP-API die Strings vor versenden manipuliert?
Habe ich da einen Denkfehler bzw. wie baut ihr JSON für den Versand an eine API zusammen?
Vielen Dank und viele Grüße
Re: [4.0.1] HTTP-API: String wird vor Versenden eines JSON verändert (Backslash-Anführungszeichen)
Verfasst: Mo Aug 05, 2024 7:52 am
von MrWilson
Die API baut dir das JSON bei Angabe von entsprechenden Selektoren und der nötigen Verknüpfung mit deinen Objekten selbstständig zusammen.
Re: [4.0.1] HTTP-API: String wird vor Versenden eines JSON verändert (Backslash-Anführungszeichen)
Verfasst: Mo Aug 05, 2024 8:42 am
von hans4711
Danke für deine Antwort. Das mache ich so mit chat_id und text. Bei dem sekektor „keyboard“ muss ich ein array übergeben welches individuell durch eine Logik erstellt wird. Wenn ich das richtig verstehe kann ich Arrays mit der Api nicht bauen?
Re: [4.0.1] HTTP-API: String wird vor Versenden eines JSON verändert (Backslash-Anführungszeichen)
Verfasst: Mo Aug 05, 2024 9:14 am
von Sun1453
Habe es zwar noch nie gemacht aber es soll gehen. Siehe der Anleitung siehe Wiki:
https://elabnet.atlassian.net/wiki/spac ... tenstuktur
Re: [V4.0.1] HTTP-API: String wird vor Versenden eines JSON verändert (Backslash-Anführungszeichen)
Verfasst: Mi Aug 07, 2024 9:57 am
von hans4711
@MrWilson ,
@Sun1453 Vielen Dank für Eure Antworten. Jetzt habe ich den Ansatz verstanden.
Jetzt habe ich nur das Problem das ich ein verschachteltes Array im JSON erzeugen muss:
[
["text1,
"text2"]
]
bzw. so soll das ganze JSON aussehen
Code: Alles auswählen
{
"chat_id": "4711",
"text": "Regenmengen: \r\nGestern: 5 Liter \r\nakt. Woche: 0 Liter \r\nVorwoche: 0 Liter \r\nakt. Monat: 0 Liter \r\nVormonat: 0 Liter \r\nakt. Jahr: 0 Liter \r\n",
"reply_markup": {
"keyboard": [
["text1,
"text2"]
]
}
}
Der Selektor reply_markup.keyboard[0] funktioniert, ein verschachteltes Array hätte ich vermutet baue ich mit reply_markup.keyboard[0].[0], hier bekomme ich jedoch vom TWS eine Fehlermeldung (Fehler beim Umwandeln der Objekt-Daten ins Sendeformat).
Kann hier jemand helfen?
Vielen Dank und viele Grüße
Re: [V4.0.1] HTTP-API: String wird vor Versenden eines JSON verändert (Backslash-Anführungszeichen)
Verfasst: Mi Aug 07, 2024 10:30 am
von MrWilson
Hinter text1 fehlen die Anführungszeichen und mal den Punkt zwischen [0][0] weglassen.
Re: [V4.0.1] HTTP-API: String wird vor Versenden eines JSON verändert (Backslash-Anführungszeichen)
Verfasst: Mi Aug 07, 2024 12:47 pm
von hans4711
@MrWilson Vielen Dank. Der Punkt zwischen [0][0] war das Problem. Jetzt funktionierts