begin process at 2012 05 27 20:23:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > LIBRAIRIE JSON C++

LIBRAIRIE JSON C++


 Information sur la source

Note :
Aucune note
Catégorie :API Classé sous :json, encode, decode, fichier, objet Niveau :Débutant Date de création :28/11/2010 Vu / téléchargé :3 020 / 98

Auteur : ordiman85

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


 Description

J'ai créé cette petite librairie pour décoder et encoder des fichiers JSON, avec un fichier en-tête et un fichier source seulement.

JSON est un format de fichier très léger pour stocker vos données un peu comme XML.
http://fr.wikipedia.org/wiki/JavaScript_Objec t_Notation

Fonctionnalités :
Accesseurs de tableaux et d'objets [].
Test des types "isBoolean", "isNumber"...
Assignation directe avec les bool, int, double, string, etc.
Ajout, insertion directe dans un tableau avec "<<" ou "push_back".
Extraction des valeurs vers les types natifs avec ">>" ou la méthode "asInt", etc.
Gestion d'exceptions.
etc.

Source

  • #include "json.h"
  • #include <iostream>
  • int main()
  • {
  • JSONValue object;
  • object = JSON::decode( " {\"menu\": { \
  • \"id\": \"file\", \
  • \"value\": \"File\", \
  • \"popup\": { \
  • \"menuitem\": [ \
  • {\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"}, \
  • {\"value\": \"Open\", \"onclick\": \"OpenDoc()\"}, \
  • {\"value\": \"Close\", \"onclick\": \"CloseDoc()\"} \
  • ] \
  • } \
  • }}" );
  • object[ "menu" ][ "id" ] = "fichier"; // Assignation
  • object[ "menu" ][ "popup" ][ "menuitem" ].erase( 1 ); // Suppression dans un tableau
  • object[ "menu" ][ "popup" ][ "options" ] = JSONArray();
  • object[ "menu" ][ "popup" ][ "options" ] << 1 << JSON::null << 2; // Ajout dans un tableau
  • object[ "menu" ][ "popup" ][ "options" ].insert( 0, "json" ); // Insertion dans un tableau
  • object[ "menu" ][ "value" ] = 5; // Assignation avec un type différent
  • std::cout << object.encode() << std::endl;
  • JSON::save( object, "data.json" );
  • /*
  • Résultat attendu :
  • {"menu": {"id": "fichier", "popup": {"menuitem": [{"onclick": "CreateNewDoc()", "value": "New"}, {"onclick": "CloseDoc()", "value": "Close"}], "options": ["json", 1, null, 2]}, "value": 5}}
  • */
  • return 0;
  • }
#include "json.h"
#include <iostream>

int main()
{
	JSONValue object;
	object = JSON::decode( " {\"menu\": { \
	   \"id\": \"file\", \
	   \"value\": \"File\", \
	   \"popup\": { \
	     \"menuitem\": [ \
	       {\"value\": \"New\", \"onclick\": \"CreateNewDoc()\"}, \
	       {\"value\": \"Open\", \"onclick\": \"OpenDoc()\"}, \
	       {\"value\": \"Close\", \"onclick\": \"CloseDoc()\"} \
	     ] \
	   } \
	}}" );

	object[ "menu" ][ "id" ] = "fichier";                         // Assignation
	object[ "menu" ][ "popup" ][ "menuitem" ].erase( 1 );         // Suppression dans un tableau
	object[ "menu" ][ "popup" ][ "options" ] = JSONArray();
	object[ "menu" ][ "popup" ][ "options" ] << 1 << JSON::null << 2; // Ajout dans un tableau
	object[ "menu" ][ "popup" ][ "options" ].insert( 0, "json" ); // Insertion dans un tableau
	object[ "menu" ][ "value" ] = 5;                              // Assignation avec un type différent

	std::cout << object.encode() << std::endl;
	JSON::save( object, "data.json" );
/*
	Résultat attendu :

	{"menu": {"id": "fichier", "popup": {"menuitem": [{"onclick": "CreateNewDoc()", "value": "New"}, {"onclick": "CloseDoc()", "value": "Close"}], "options": ["json", 1, null, 2]}, "value": 5}}
*/
	return 0;
}

 Conclusion

Si vous avez besoin de fonctionnalités supplémentaires ou si vous avez modifié la bibliothèque pour corriger des bugs, merci de m'en informer.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture COURBES NURBS 3D DANS OPENSCENEGRAPH
Source avec Zip BIBLIOTHEQUE FONCTIONNELLE : OPÉRATIONS, COMPOSITION D'OBJET...
Source avec Zip Source avec une capture [WIN32] EASY WAVE MIXER
Source avec Zip Source avec une capture [C++] HASH FINDER - CALCULATEUR DE HASH
Source avec Zip Source avec une capture CONTROLEUR DE VOLUME SONORE EN C [ API WINDOWS ]

 Sources de la même categorie

Source avec Zip WIN32 TLS LENT par dguilmain
Source avec Zip VIDER ELEMENTS DE CORBEILLE WINDOWS7 (WIN64) par BruNews
Source avec Zip Source avec une capture FIND TEXT (WIN64) par BruNews
Source avec Zip DELETE DIRECTORY (WIN64) par BruNews
Source avec Zip ENUM DIRECTORY (WIN64) par BruNews

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel
UTILISATION DES TYPELIST EN C++ par wyden

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

tableau d'objet comme variable d'instance [ par MrKribou ] Bon dans le fichier .h (ou fait c comment qu'on appele se fichier la ? header ?) comment declare ton un tableau d'objet comme variable d'instance.Par Ecriture d'un objet dans un fichier [ par NikoGJ ] Salut!J'ai un petit (gros) problème: j'essaye de savoir s'il est possible d'écrire dans un fichier binaire, une instance de classe en une seule fois, sauver et charger [ par acety ] voila mon code merci de me dire si j'ai fai des erreurs deja car quand je veu charger il n'arrive po a me charger l'objet.char name[10]char objet[8]le (dé)Sérialisation d'objet... [ par zouippy ] Bonjour à tous! Voilà, je vous explique mon problème: J'ai un fichier extérieur à mon programme c++, qui contient (à mon avi) un object sérialisé... M Durée de vie objet [ par xav0 ] Bonjour,je cherche à savoir quelle est la durée de vie des objets créés à l'intérieur d'expressions. Par exemple :#include &lt;stdio.h&gt;class Fichie Lecture d'un objet de taille variable à partir d'un fichier [ par chelheb ] Bonjour tout le monde !Je travaille actuellement sur un projet en MFC, et j'ai quelques problèmes en ce qui concerne la lecture à partir d'un fichier Problème avec liste chainée [ par quiz82 ] salut tout le monde g un programme qui gere des RDV en C++ et j aimerai rajouter des fonctions pour annuler ou supprimer un RDV, et une fonction qui m un peu perdu... [ par sheorogath ] bjr ,me remettant au c++ pour la enieme fois je voulais creer un petit programme permettant de lister les fichier d'un certain type alors je commence partage mémoire entre programme c++ [ par jcloupgarou ] bonjour,J'ai deux programmes en c++ : une appli A&nbsp;de mod&#233;lisation 3d et une appli B&nbsp;permettant de charger un fichier de type Step (cati


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales