J'ai un code JSON que j'ai mis dans le fichier JSON nommé data.json
le code JSON est: p> maintenant le code PHP que j'utilise pour chercher Les données sont les suivantes: P> $url = "data.json" ;
$ch = curl_init() ;
curl_setopt($ch, CURLOPT_URL, $url) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch) ;
$data = json_decode($result, true) ;
foreach($data as $mydata)
{
$data1 = $mydata["value"] ;
$data2 = $mydata["date"] ;
echo $data1 ." : ". $data2 ;
echo "<br/>";
}
4 Réponses :
Lorsque vous utilisez Curl avec nom de fichier uniquement, le boucle pense que c'est une URL, vous aurez donc une erreur si c'est un fichier local, je préférerai utiliser File_Get_Contents ... < / p> et dans le cas de l'URL d'utiliser la boucle. p> Pour répondre et vous aider, essayons de voir si vous avez des erreurs de curl .. . P> Modifiez le code comme ça et mettez-nous à jour P> Essayez d'utiliser curl_error et vérifiez s'il y a des erreurs de CURL, P> Ce que vous obtenez? p>
J'ai eu ce que je fais mal. Lorsque j'ajoute un chemin d'URL complet dans l'URL $. Je suis capable d'aller chercher les données. Mais connaissez-vous la raison pour laquelle?
J'essaie d'aider ... Vérifiez d'abord ce que les erreurs ... et ensuite nous mettrons à jour et continuerons à vous aider
Merci pour l'aide . Je n'ai pas indiqué votre réponse. Mais peut être votre raison est correct. L'utilisation de la courbe lorsque c'est nécessaire est la meilleure pratique
S'il vous plaît essayez cela et continuons à le comprendre. et vous êtes invité à uPvote :)
J'ai suscité, mais mes votes ne comptent pas. Laisse-moi essayer cet exemple
Vous devez fournir l'URL complète du fichier JSON si vous utilisez Autres options pour obtenir les données de JSON P> curl code>, au lieu du
data.json code>
$result = file_get_contents($url);
Cela fonctionne bien pour moi.Veuillez vérifier.
<?php $url = "http://raveesh.rnd/data.json" ; $ch = curl_init() ; curl_setopt($ch, CURLOPT_URL, $url) ; curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch) ; $data = json_decode($result, true) ; foreach($data as $mydata) { $data1 = $mydata["value"] ; $data2 = $mydata["date"] ; echo $data1 ." : ". $data2 ; echo "<br/>"; } ?> Output: 23 : 03/2018 43 : 03/2019 34 : 12/2017 13 : 01/2019 34 : 02/2019
Le problème ici est:
1- Vous ne pouvez pas boucler le même hôte, vous devez utiliser la fonction <?php
$url = "http://date.jsontest.com" ;
$ch = curl_init($url) ;
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Content-type: application/json')
);
curl_setopt_array( $ch, $options );
$result = curl_exec($ch);
curl_close($ch) ;
$result = json_decode($result, 1);
foreach($result as $key => $mydata)
{
echo $key ." : ". $mydata ;
echo "<br/>";
}
Obtenez-vous des données dans $ de données?
Qu'est-ce que
console.log ($ résultat); code> vous donner?
var_dump $ data pour voir ce qui est là-bas - quand j'utilise votre Json directement ça marche pour moi
Pouvez-vous jeter la variable $ mydata s'il vous plaît et montrez-nous
Var_dump ($ données) me donne NULL Résultat @rapaelec mais pourquoi?
foreach est faux aussi bien, cela devrait être foreach ($ data comme $ clé => $ valeur)
@ B001 ᛦ Pas de faute de frappe, il veut la clé et la valeur, foreach doit avoir une clé et une valeur pour les prochaines lignes de code $ $1 = $ myData ["valeur"]; $ data2 = $ myData ["date"];
J'ai changé le titre et la description de la question. S'il vous plaît laissez-moi savoir pourquoi je reçois cette erreur
Ce fichier JSON est situé sur votre serveur? Pourquoi utilisez-vous CURL et BOT FILE_GET_Contents?
Êtes-vous sûr que vous utilisez la bonne URL?
@ shushu304 Il peut y avoir une chance que je puisse utiliser ce contenu à partir d'une URL externe, c'est pourquoi j'utilise CURL
@ B001 ᛦ Oui, les deux fichiers sont dans le même dossier
@ Abnit-Chauhan Il est un gaspillage pour utiliser CURL pour un fichier local, essayer de changer pour utiliser File_Get_Contents au cas où il s'agit d'un fichier local et d'utiliser curl au cas où il s'agit d'une URL /