Na json_encode incorrecte json code?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Henk van Loo

Henk van Loo

29/11/2014 18:30:35
Quote Anchor link
Beste,

Ik kom er niet meer uit, wellicht zien jullie waar het probleem zit?
Ik heb een array en die haal ik door json_encode, sla hem op in de database en haal deze later weer op. Vervolgens doe ik json_decode maar krijg ik errorcode 4, wat wilt zeggen dat mijn json string incorrect is.
Als ik de string echo klopt hij echter wel.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
  $aTempLessen
= array ( 'Dynamisch en lang.' );
  $sTempLessen = json_encode ( $aTempLessen );
  
  mysql_query ( "INSERT INTO klassen ( datagrid ) VALUES ( '" . $sTempLessen . "' )" ); // Staat nu netjes in DB!

  // Andere pagina:

  $query = mysql_query ( "SELECT datagrid FROM klassen" );
  $fetch = mysql_fetch_assoc ( $query );
  echo $fetch['datagrid'];
  print_r ( json_decode ( $fetch['datagrid'], true ) );
?>


De echo:
{"1":{"4":{"rowspan":8,"classroom":"B2.01
","teacher":"SCHY","classname":"SIM"}}}

Print_r: Niks.
var_dump: NULL
json_last_error: JSON_ERROR_SYNTAX

Alvast bedankt voor de hulp!

Update:
Als ik de json string decode via phpfiddle gaat alles goed?...
Zit er misschien een limiet op json_decode?

Update 2:
Gevonden! Er stond nog een \r achter elk lokaal.. (Zie json hierboven), zucht...
Heb de json string ingekort :)
Gewijzigd op 29/11/2014 19:35:41 door Henk van Loo
 
PHP hulp

PHP hulp

27/12/2024 16:11:51
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

29/11/2014 20:19:35
Quote Anchor link
Wellicht moet je eens kijken naar MonoDB, een beetje onzin om niet relationele data op te slaan in een RDBMS, of anders gaan normaliseren.

Overigens had je het kunnen voorkomen door je input te escapen.
Gewijzigd op 29/11/2014 20:44:30 door Ger van Steenderen
 
Henk van Loo

Henk van Loo

29/11/2014 21:17:12
Quote Anchor link
Beste Ger,

Bedankt voor je antwoord.
Ik heb 1 MySQL database tot mijn beschikking bij mijn webhosting, dus MongoDB zal geen optie zijn.
De reden waarom ik alles in de DB doe opslaan is omdat de lesdata extern geladen wordt via curl. Om dataverkeer te besparen wordt er om de 30 minuten gekeken of het rooster aangepast is, zo ja dan wordt dit gedownload en opgeslagen. Er gaan naar verwachting een kleine 10.000 leerlingen en leraren van deze service gebruik maken, om nu tijdens het genereren van de pagina de data extern op te halen en te verwerken leek mij overkill.

Als je een betere manier vind om de data op te slaan zonder andere software dan hoor ik dit graag.
Gewijzigd op 29/11/2014 21:18:13 door Henk van Loo
 
Joakim Broden

Joakim Broden

29/11/2014 23:34:23
Quote Anchor link
Kijk eens naar serialize en unserialize
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.