L'évaluation JSON est très facile:
var jsonString = "{'name': 'Joe', 'age': 36}";
var data = eval('(' + jsonString + ')');
data.name // 'Joe'
data.age // 36
La meilleure façon de stocker ces données est de le mettre dans un <input type="hidden">
puis le lire à l'aide document.getElementById('hiddenElementId').value
.
L'image complète:
HTML
<input type="hidden" id="hiddenElementId" value="{'name': 'Joe', 'age': 36}" />
JS
function getData() {
var jsonString = document.getElementById('hiddenElementId').value;
var data = var data = eval('(' + jsonString + ')');
return data;
}
Il est pas vraiment nécessaire d'être un élément hidden
- vous pouvez le mettre dans un attribut de l'une des images.
Une autre option consiste à le coller dans un tag <script>
sous un nom.
<script type="text/javascript">
var data = {'name': 'Joe', 'age': 36};
</script>
De cette façon data
devient une variable globale (quelque chose que je ne l'aime pas tellement) et peut être utilisé de partout. C'est une solution simple, mais un peu brouillon - j'irais avec le premier.
D'accord. L'avoir dans un fichier JS est similaire à l'avoir stocké ailleurs - penser à des fichiers de configuration ou XML, etc. - Rien de mal à cela. –
En fait, cela rend votre vie moins salissante! –
Donc, vous ne le voulez pas dans votre code, récupéré par le code, ou lié? Cela laisse plutôt dans une entrée cachée, qui est encore plus poisseuse. Je suis avec ces gars: un externe.js est l'option la plus propre. –