json_encode renvoie null sur une chaîne JSON valide
P粉176980522
P粉176980522 2023-07-28 19:35:06
0
1
533
<p>J'utilise la fonction json_decode de PHP pour analyser une chaîne JSON créée par JSON.stringify de JavaScript; </p><p>JSON semble être valide : </p><p>JSON String : </p><p><br /></p> <pre class="brush:php;toolbar:false;">"{"m_user_name":"test","m_user_phone":"+60 12-384 7961","m_user_city":"Kuala Lumpur"," m_user_linkedin":"exemple@gmail.com","m_user_g_plus":"exemple@gmail.com"}"</pre> <p>Message d'erreur final JSON : "Erreur de syntaxe"</p><p>D'accord, si je colle la chaîne directement dans json_decode, cela fonctionne. J'envoie une chaîne via ajax via un objet form_data, puis j'essaie de décoder la variable post. </p><p>Voici le code de la requête ajax :</p><p><br /></p> <pre class="brush:php;toolbar:false;">$.ajax({ tapez : "POST", URL : ajaxurl, données : données de formulaire, cache : faux, contentType : faux, ProcessData : faux, avantEnvoyer : fonction () { toggle_loading_spinner(); }, succès : fonction (données) { console.log(données); toggle_loading_spinner(); }, });</pré> <p>J'ai essayé d'utiliser preg_replace('/[x00-x1Fx80-xFF]/', '', $JSON_STRING) pour supprimer les symboles indésirables, mais j'ai eu la même erreur. </p>
P粉176980522
P粉176980522

répondre à tous(1)
P粉814160988

La fonction

json_decode() ne fonctionne qu'avec des chaînes codées en UTF-8. L'entrée peut être dans un codage différent. Après avoir supprimé les caractères indésirables, essayez de convertir le codage en UTF-8. Voici des références sur la façon de réaliser la conversion :

https://www.php.net/manual/en/function.mb-convert-encoding.php

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal