Ce que je veux faire, c'est ce qui suit:
- prendre JSON comme entrée de la zone de texte en php
- utilisez cette entrée et convertissez-la en JSON et transmettez-la à php curl pour envoyer la requête.
cela m arrive à php depuis get of api cette chaîne json que je veux passer à json mais ce n'est pas la conversion en tableau
echo $str='{
action : "create",
record: {
type: "n$product",
fields: {
n$name: "Bread",
n$price: 2.11
},
namespaces: { "my.demo": "n" }
}
}';
$json = json_decode($str, true);
le code ci-dessus ne me renvoie pas de tableau.
then it is not giving
Ne pas donner quoi? Vous prenez une chaîne au format JSON de textarea et vous la convertissez en JSON ???Réponses:
Si vous transmettez le JSON dans votre message à
json_decode
, cela échouera. Les chaînes JSON valides ont des clés entre guillemets:la source
json_decode()
il retourneraNULL
si votre JSON n'est pas valide (par exemple, aucune clé entre guillemets). C'est ce que dit la documentation et c'est ce que mon installation PHP 5.2 renvoie. Utilisez-vous une fonction autre que la fonction intégrée officiellejson_decode()
? Qu'est-ce quivar_dump(json_decode($str, true));
revient?Essaye ça:
le deuxième paramètre transformera la chaîne json décodée en tableaux associatifs.
la source
Si vous obtenez la chaîne JSON de la forme à l' aide
$_REQUEST
,$_GET
ou$_POST
la , vous devrez utiliser la fonctionhtml_entity_decode()
. Je ne m'en suis pas rendu compte jusqu'à ce que j'aie fait unvar_dump
de ce qui était dans la demande par rapport à ce que j'ai copié et laecho
déclaration et j'ai remarqué que la chaîne de demande était beaucoup plus grande.Bonne manière:
Avec des erreurs:
la source
Utilisez la
json_decode($json_string, TRUE)
fonction pour convertir l'objet JSON en tableau.Exemple:
REMARQUE: Le deuxième paramètre convertira la chaîne JSON décodée en un tableau associatif.
===========
Production:
la source
Si vous obtenez une chaîne json à partir de l'URL à l'aide de
file_get_contents
, suivez les étapes:la source
votre chaîne doit être au format suivant:
Production:
la source
Vous pouvez convertir un objet json en tableau et chaîne.
la source
Si jamais vous avez besoin de convertir un fichier ou des structures JSON en tableaux de style PHP, avec tous les niveaux d'imbrication, vous pouvez utiliser cette fonction. Tout d'abord, vous devez json_decode ($ yourJSONdata), puis le transmettre à cette fonction. Il affichera dans la fenêtre de votre navigateur (ou console) les tableaux de style PHP corrects.
https://github.com/mobsted/jsontophparray
la source
Je pense que cela devrait fonctionner, c'est juste que les clés doivent également être entre guillemets si elles ne sont pas des chiffres.
la source
voici ma solution: chaîne json
$columns_validation = string(1736) "[{"colId":"N_ni","hide":true,"aggFunc":null,"width":136,"pivotIndex":null,"pinned":null,"rowGroupIndex":null},{"colId":"J_2_fait","hide":true,"aggFunc":null,"width":67,"pivotIndex":null,"pinned":null,"rowGroupIndex":null}]"
donc j'utilise json_decode deux fois comme ça:
et le résultat est:
la source
Assurez-vous que la chaîne est au format JSON suivant, ce qui ressemble à ceci:
Sinon, vous pouvez ajouter
"responsetype => json"
vos paramètres de requête.Utilisez ensuite
json_decode($response,true)
pour le convertir en tableau.la source
responseType
propriété est utilisée pour déterminer le type des données dans la réponse à la demande. Pourtant, le problème est que le corps de la requête contient des données qui ne sont pas dans le bon fromat lui-même. Votre réponse ne correspond donc pas au contexte donné.Vous pouvez changer une chaîne en JSON comme suit et vous pouvez également couper, supprimer une chaîne si vous le souhaitez,
la source
Utilisez ce convertisseur, il n'échoue pas du tout: Services_Json
la source
la source