English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Soluzione per 'Json_decode' che restituisce NULL quando si解析json stringa (obbligatorio)

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.

Ti potrebbe interessare