Question

J'ouvre un fichier JSON et en décode le contenu, afin de pouvoir insérer le contenu dans ma base de données à l'aide de MySQL :

[{"publisher": "some publisher", "img": "url to image", "title": "some title", "platform": "some platform", "year": "2012", "genre": "some genre", "desc": "this is the description", "id": "1", "developer": "some developer"}]

Il ne s'agit que d'une des entrées du fichier.Le fichier JSON en contient plus de 10 000.J'obtiens un serveur interne lors de l'utilisation json_decode($file).Lecture du fichier et var_dump($file) fonctionne très bien.Ma question est donc la suivante : est-ce un bon fichier JSON ?Ou comment puis-je le décoder et l’insérer dans la base de données ?

Merci d'avance.

Était-ce utile?

La solution

Il n'y a rien de mal avec ce fragment de JSON.

Vous devriez examiner le message d'erreur spécifique signalé (soit en exécutant PHP en dehors d'un serveur Web, soit en le recherchant dans les journaux d'erreurs).L'erreur interne du serveur signifie simplement "Quelque chose s'est mal passé, un administrateur/développeur devrait consulter les journaux".

Autres conseils

Si le fichier est si gros, il se peut que php manque de mémoire ou de temps d'exécution, mais comme dit précédemment, commencez par regarder dans les fichiers journaux.

Encore une fois, vous avez besoin d'erreurs, mais contrairement aux autres qui indiquent regarder le fichier journal, je comprends que parfois vous ne pouvez pas certains hôtes par exemple,

Pour permettre à votre script d'afficher l'erreur, utilisez

error_reporting(2047); 
ini_set("display_errors",1);

Si vous obtenez une erreur de mémoire, utilisezini_set('memory_limit', '128M');

Cela devrait l'autoriser sinon ou une erreur est générée car vous appelez ini_set, vous devez contacter votre hôte de serveur et lui demander d'autoriser plus de mémoire.

J'ai eu cette même erreur.Je l'ai réparé en changeant mon json_decode($whatever) coder pour json_decode($whatever, TRUE).J'espère que ça aidera quelqu'un.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top