Heb de volgende link in het veld "thumbnail" als VARCHAR:
https://www.google.nl/images/srpr/logo4w.png

Nu leest die de link uit als:
thumbnail":"https:\/\/www.google.nl\/images\/srpr\/logo4w.png",";

Huidige code is als volgt:

<?php
$sql=mysql_query("select * from winkels");
while($row=mysql_fetch_assoc($sql)){
$output[]=$row;
}
print(json_encode($output));
mysql_close();
?>


Hoe los ik dit op?
Daar is niets verkeerd mee.
JSON is een notatie van Javascript (controleer maar even waar JSON de afkorting van is).

Javascript kan dat perfect goed lezen.

Zie zelf:
index.php

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
  $.ajax({
    url: 'ajax.php',
    dataType: 'json',
    success: function(data) {
      $('#links').html(data.thumbnail);
    }
  });
});
</script>
<div id="links"></div>


ajax.php

{"thumbnail":"https:\/\/www.google.nl\/images\/srpr\/logo4w.png"}
Ha Kris,

Bedankt weer wat geleerd. Probleem is echter dat het wel deze output moet hebben.

Maar heb het opgelost met str_replace :)


$use = (json_encode($output));

print str_replace('\/', '/', $use);
Nee, doe dat niet! Zorg altijd dat je correcte JSON wegschrijft, laat de client de conversie doen. Wat je nu doet is in feite je JSON vernaggelen. Dat betekent dat je niet meer voldoet aan de specs en als je een client hebt die dat wel verwacht (wat hij zou moeten) dan gaat het mis.
Ah ok. Dus de client moet de conversie doen. Bedankt.
Ja, in alle gevallen (geldt niet alleen met JSON) wil je ervoor zorgen dat wat je verstuurt gewoon altijd correct is. Anders moet je later weer gaan zoeken wat ook alweer de precieze veranderingen waren.
Dit is waarom er standaarden zijn. Zolang alle verzenders zich aan de standaard houden weten ontvangers wat ze krijgen. Als die dan iets anders willen kunnen ze er veranderingen in aan brengen.

Reageren