2016-07-28 7 views
0

eine API von einem Lieferanten bereitgestellt Verwendung Ich habe eine JSON Antwort bekommt so formatierte:Doppel Zitat und Schrägstriche JSON Antwort

{"d":"{\"IdProduct\":0,\"Status\":0,\"Errors\":[\"B_MESSAGE_INVALID_REQUIRED_FIELDS\"]}"} 

Die in Frage zu verursachen, wenn mit JMS (PHP), weil Inhalt zu deserialisieren versuchen d wird nicht als Objekt betrachtet, sondern als String.

Ich habe versucht, json von PHP mit Array und json_encode zu schaffen() und alles funktioniert super mit deserialize Methode:

{"d":{"IdProduct":123456,"Status":1,"Errors":["B_MESSAGE_INVALID_REQUIRED_FIELDS"]}} 

Ist es möglich, nutzlose Schrägstriche und Zitate von meiner Seite zu entfernen? Scheint, dass der Lieferant das Format nicht ändern kann.

Antwort

0

Es sieht so aus, als ob die API eine JSON-Zeichenfolge zurückgibt, die in ein JSON-Objekt codiert ist. Das heißt, Sie müssen zuerst das "äußere" Objekt dekodieren, dann JSON-decodieren Sie die $obj['d'], weil es eine JSON-Zeichenfolge ist.

Offensichtlich sollte jemand die API reparieren, um nicht doppelt kodierten JSON zurückzugeben.