[CLOSED V0.7] [API] setzen des Namens liefert kaputtes JSON

Gesperrt
Campus
sehr erfahrener Forum-Nutzer
Beiträge: 425
Registriert: Mi 27. Jan 2016, 16:08
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2012
Robonect-Modul: Robonect H30x (Rev.1)
Robonect Firmware: 1.0beta5
hat sich bedankt: 1 Mal
wurde gedankt: 3 Male

[CLOSED V0.7] [API] setzen des Namens liefert kaputtes JSON

Beitrag von Campus »

Hallo,

wenn ich versuche per API den Namen "Robbie Williams, sen." zu setzen, bekomme ich kaputtes JSON als Antwort.

Request:

Code: Alles auswählen

http://greenkeeper/json?cmd=name&name=Robbie+Williams%2C+sen.
Response:

Code: Alles auswählen

{"name": "Robbie Williams" sen.", "successful": true}
Entweder fehlt das Escapen der JSON-Werte oder beim Inputparameter fehlt das URL-Decoding um aus %2C wieder das Komma zu erzeugen.
Gruß
Campus

Admin
Administrator
Beiträge: 2907
Registriert: Di 19. Jan 2016, 18:34
Wohnort: Kiel
Mäher: Gardena SILENO City 500
Firmware des Mähers (MSW): MSW 11.xx.xx
Herstellungsjahr: 2017 (Modell 2018)
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: stets die Allerneuste :-)
hat sich bedankt: 1 Mal
wurde gedankt: 60 Male
Kontaktdaten:

Re: [API] setzen des Namens liefert kaputtes JSON

Beitrag von Admin »

Deine Vermutung war richtig. Sogar auf beides war falsch... 8-)
Im URLDecode wurden die Werte nicht richtig in das Zeichen umgerechnet. Dadurch wurde aus einem , ein ".
Außerdem fehlte das Escaping in der Ausgabe des JSON Werte.

Deshalb habe in in der V0.7 das URL-Encoding gefixt, Escaping für JSON hinzugefügt und in der XML Ausgabe Strings in ein CDATA-Tag verpackt.
Werbefläche zu vermieten. :lol:

reyem
Forum-Nutzer
Beiträge: 22
Registriert: Fr 21. Apr 2017, 14:14
Mäher: Husqvarna Automower 105
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.3)
Robonect Firmware: 0.9e

Re: [CLOSED V0.7] [API] setzen des Namens liefert kaputtes JSON

Beitrag von reyem »

Kann es sein, dass hier noch nicht alles gefixt ist?

http://192.168.1.210/json?cmd=name&name=m%C3%A4her
oder
http://192.168.1.210/json?cmd=name&name=mäher

resultieren in:

Code: Alles auswählen

{"name": "mäher", "successful": true}
Auch übers Webinterface lassen sich keine Umlaute setzen

V0.9e

Gesperrt

Zurück zu „ältere als FW 0.9e“