Hey Matze,
ich habe mir deine API mal angeschaut und habe mal einen Prototypen gebaut, der den gewünschten Output (fast) erzeugt!
Das Ergebnis ist nur fast erfüllt, da die API als Rückgabewert der Callback-Funktion immer ein zweidimensionales Array der folgenden Form verlangt:
PHP-Code:
$arrCmdResult = array();
$arrCmdResult[0]['item'] = 'descriptor';
$arrCmdResult[0]['text'] = 'content';
$arrCmdResult[1]['item'] = 'descriptor';
$arrCmdResult[1]['text'] = 'content';
...
Nun möchte ich aber ein mehrdimensionales Array an den Client weitergeben. Meine Idee war dazu das Array als JSON String in der XML-Notation zu übergeben.
PHP-Code:
$arrCmdResult = array();
$arrCmdResult[0]['item'] = 'sitestatus';
$arrCmdResult[0]['text'] = 'JSONSTRING';
...
Die API transformiert mit htmlspecialchars jeglichen Output um, so dass die Notation erst wieder mit htmlspecialchars_decode umgewandelt werden müsste. Da ich clientseitig aber nicht zwingend PHP laufen habe, halte ich diese Lösung für unpraktikabel.
Der beste Weg wäre m.E. das ResultSet für die API dynamisch zu machen, so dass auch mehrdimensionale Rückgabewerte in XML-Notation möglich sind, oder alternativ den Response der API optional vollständig als JSON-String zu ermöglichen.
Anmerkungen, Vorschläge oder Ideen?
Lesezeichen