English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
I dati ricevuti tramite POST o GET da parte dell'APP o da altre pagine sono generalmente in forma di array. Poiché la forma array non è facile da trasmettere, di solito si trasforma in JSON prima di inviarlo. Pensavo che il problema fosse risolto con json_encode() del mittente e json_decode() del ricevente, ma ho scoperto che json_decode() restituisce NULL.
Di solito si risponde che manca un parametro “true”, ma tornando indietro si vede che json_decode($data, true); Allora come potrebbe essere ancora NULL? Forse è la codifica, no, la stringa JSON ricevuta è una forma completa di stringa JSON, può essere decodificata correttamente sul sito web di decodifica JSON online.
Allora cosa sta succedendo? È un problema di traduzione di codifica.
Con il metodo seguente è possibile effettuare la decodifica correttamente.
$data = stripslashes(html_entity_decode($info)); //$info è la stringa JSON passata $data = json_decode($data, TRUE);
In questo momento, $data è l'array decodificato!
La funzione html_entity_decode() ha la funzione di convertire le entità HTML in caratteri.
La funzione slashes() ha la funzione di eliminare le barre oblique.
Questa soluzione per Json_decode per analizzare la stringa JSON come NULL è tutto ciò che l'autore ha condiviso con voi. Spero che possa essere di riferimento per voi, e spero che possiate supportare il tutorial Shouting.