Need a C++ JSON something

Started by
5 comments, last by kubalie 11 years ago

Hi,

I am in need of a JSON library (I am not sure if thats what it is called) that I can easily bring into my visual studio 2012 project. I tried jansson but it had a lot of errors from some sort of inline issue to not being able to find the functions (linking errors). Not sure if I might of not configured myself correctly but I cant find any documentation for how to do it on windows with vs.

Anyways any help?

Thanks.

Advertisement

I've used jsoncpp in the past after looking at the available options.

The amalgamated version which allows you to include it as a single header file was slightly broken and needed a few minor changes to get it to compile. Apart from that though, it was straightforward and easy to use.

I made a tutorial on Networking C++/SFML and Node using JSON using SimpleJSON which was about as... um, simple as JSON gets. Add a pair of CPP files to your project and you are done. As you can see from the tutorial, it's pretty simple to interface with C++ types.

You can also check out Jansson.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

You can also check out Jansson.

+1

Jansson is great. Very easy to use and reasonably quick.

Yea so like I mentioned

You can also check out Jansson.

+1

Jansson is great. Very easy to use and reasonably quick.

So like I mentioned I did try Jansson because I read that its a good json util but I was unable to get it to work in my project. I built a lib and put it in my project and that failed I also took the actual source files and imported them into my project and that also failed. I am not too clear on what I need to do to get Jansson working with visual studio on windows. thanks

OK so after some work I finally got jansson to work with visual studio. Not sure why but for some reason visual studio did not like this #define JSON_INLINE inline inside jansson.h. Not sure why. Anyways so now I am trying to see if this will parse any json data and I have a test of json data but it fails saying "error: root is not an array". I have doubled check to make sure that it in face is a legit json (jsonlint).


char *text = 0;
	
	json_t *root = 0;
	json_error_t error;

	text = "{\"glossary\": {\"title\": \"example glossary\",\"GlossDiv\": {\"title\": \"S\",\"GlossList\": {\"GlossEntry\": {\"ID\": \"SGML\",\"SortAs\": \"SGML\",\"GlossTerm\": \"Standard Generalized Markup Language\",\"Acronym\": \"SGML\",\"Abbrev\": \"ISO 8879:1986\",\"GlossDef\": {\"para\": \"A meta-markup language, used to create markup languages such as DocBook.\",\"GlossSeeAlso\": [\"GML\", \"XML\"] },\"GlossSee\": \"markup\"}}}}}";
		
	if(!text)
		return 1;

	root = json_loads(text, 0, &error);

	if(!root)
	{
		fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
	}

	if(!json_is_array(root))
	{
		fprintf(stderr, "error: root is not an array\n");
		json_decref(root);
	}

Thanks again for all the replies!!

This topic is closed to new replies.

Advertisement