Lire et convertir un fichier JSON

Résolu
Bonjour,

Je m'adresse à vous car j'ai un probleme avec les fichiers json. Je réalise une page web qui gére des graphiques à l'aide de la librairie flot. Jusqu'à présent je devais utiliser des données que j'avais écrites en dur dans le code mais désormais je dois utiliser des fichiers JSON.

Voila le fichier JSON:

Transactionspersecond.json

{
"Successes" : {
"label": "Successes",
"data": [ [ 33, 250 ], [ 75, 235 ], [ 115, 245 ], [ 125, 230 ], [ 150, 1000 ], [ 160, 179 ], [ 165, 200 ], [ 168, 163 ], [ 174, 169 ], [ 170, 180 ], [ 180, 167 ], [ 190, 160 ], [ 185, 162 ], [ 160, 177 ], [ 161, 173 ], [ 164, 171 ], [ 160, 180 ], [ 159, 177 ], [ 161, 176 ], [ 165, 173 ], [ 168, 170 ], [ 167, 169 ], [ 169, 169 ], [ 165, 170 ], [ 165, 168 ], [ 162, 170 ], [ 165, 170 ] ],
"color": "blue"
},

"Failures" : {
"label": "Failures",
"data": [ [ 33, 3 ], [ 200, 235 ], [ 164, 245 ], [ 89, 230 ]],
"color": "red"
}
}

Ce que je veux c'est lire ce fichier JSON et pouvoir créer un objet dans une fonction javascript qui soit comme ça;
var data =
{
"Successes" : {
label: "Successes",
data: [ [ 33, 250 ], [ 75, 235 ], [ 115, 245 ], [ 125, 230 ], [ 150, 1000 ], [ 160, 179 ], [ 165, 200 ], [ 168, 163 ], [ 174, 169 ], [ 170, 180 ], [ 180, 167 ], [ 190, 160 ], [ 185, 162 ], [ 160, 177 ], [ 161, 173 ], [ 164, 171 ], [ 160, 180 ], [ 159, 177 ], [ 161, 176 ], [ 165, 173 ], [ 168, 170 ], [ 167, 169 ], [ 169, 169 ], [ 165, 170 ], [ 165, 168 ], [ 162, 170 ], [ 165, 170 ] ],
color: "blue"
},

"Failures" : {
label: "Failures",
data: [ [ 33, 3 ], [ 200, 235 ], [ 164, 245 ], [ 89, 230 ]],
color: "red"
}
};

Sachant que : var data = getJSON("Transactionspersecond.json"); ne fonctionne pas. Avez-vous des réponses ou des conseils?

Merci d'avance

1 réponse

  1. Tu as deux fonctions importantes pour manipuler des Json, que ce soit en javascript ou php ou d'autres langages, ces fonctions sont sensiblement les mêmes.

    En js :
    récupérer un tableau à partir d'une string Json
    var data = JSON.parse(tonjson);
    L'opération inverse, passer un tableau en une string au format Json
    var json = JSON.stringify(data);

    En php :
    $data = json_decode('tonjson',1);
    et l'inverse
    $json = json_encode($data);

    Voila en espérant que celà t'éclaires un peu sur la manipulation de json.

    Cordialement.
    0
    1. Merci de ta réponse, j'ai réussi à exploiter mes données, le problème était dans la fonction callback de la méthode $.getJSON
      0