web-dev-qa-db-fra.com

Comment alerter les données du fichier json à partir de javascript

Comment puis-je alerter le code JSON ci-dessous à l'aide de jquery?  

{
    "results": {
        "course": "CC167",
        "books": {
            "book": [
                {
                    "-id": "585457",
                    "-title": "Beginning XNA 20 game programming : from novice to professional",
                    "-isbn": "1590599241",
                    "-borrowedcount": "16"
                },
                {
                    "-id": "325421",
                    "-title": "Red Hat Linux 6",
                    "-isbn": "0201354373",
                    "-borrowedcount": "17"
                }
            ]
        }
    }
}

Ceci est mon contenu de fichier json qui peut nommé result.json. J'ai besoin d'alerter ou d'imprimer toutes les données de ce fichier en utilisant JavaScript ou jQuery. Comment puis-je faire ceci ?

21
user2801382

Supposons que vous avez le JSON dans String, var json_str = '{ "results": ... }';

À partir de là, vous devez l'analyser en tant que JSON. Pour ce faire, utilisez:

var json_obj = JSON.parse(json_str);

Si au lieu de cela vous devez charger depuis un fichier, utilisez:

var json_obj;
$.getJSON("result.json", function (data) {
    json_obj = data;
});

Une fois que vous avez l'objet JSON, il est simple d'accéder aux données. 

alert(json_obj.results.books.book[1]["-title"]); >>> Red Hat Linux 6

Ou imprimez le JSON dans son ensemble:

alert(JSON.stringify(json_obj));
36
azz
alert(JSON.stringify(result.json));

mais vous pourriez aimer le

 console.log(result.json); 

vous n'avez pas besoin de stringifier le json et vous le voyez dans la console du navigateur.

4
Idan Magled

Où trouvez-vous votre fichier JSON? Est-ce inclus quelque part sur votre page? Si tel est le cas, placez-le simplement dans un JS variabl et utilisez-le . S'il s'agit d'un autre fichier sur le serveur, utilisez jquery pour le charger et implémenter le rappel en cas de succès (voir la documentation jquery pour jquery.getJSON). Pour stringier votre objet JSON, JSON.stringify (qui devrait être intégré) . Si vous souhaitez prendre en charge tous les navigateurs, procurez-vous la bibliothèque Json2 qui dispose d'une méthode parse et stringify.

0
MichaC