User Ratings
Rate This Project
Login To Rate This Project
Featured Reviews
Highest Rated
Good library: it can store UTF-8 text without \uXXXX\uXXXX encoding, so .json file is easy to read in text editors. I don't know if this violates some standards, but it is good.
Much easier in usage than boost::property_tree::json_read(). The boost can't save/load symbols > 127, it even can't read its own \uXXXX codes. I love root["name"]["name"] syntax of jsoncpp. Also i like that it is GPL-free, because GPL is a virus and not a true freedom.
One thing i regret about: there is no long int type, so i have to use double :)
Used it in my project: audigger (sourceforce)
Lowest Rated
absolutely horrendous. making a Json::Value global would result in a pure virtual function call crash upon exit. If you try asInt() when the value is a string, you'd get a huge assertion fail. Random access violations everywhere.
User Reviews
-
Robust, small and standard de facto implementation of JSON parser in C++. We use it in educational purposes to study students.
-
We have been using Json-cpp for quite a number of years in our mobile games, where it has provided solid, reliable, cross-platform parsing with a very small footprint.
-
hello author, I find a bug. when i use reader prase a num string,expleme "49", it is crash type_ is int type,but value_.map_ is not createed
-
hello author, I find two bug. 1.if json more than twenty value,Could lead to a loss of "[" and "{". example: Json::Value root; Json::FastWriter writer; while(bContinue) { hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, PInfo.th32ProcessID); Module32First(hModule, &MInfo); CloseHandle(hModule); hProcess = OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,PInfo.th32ProcessID); char cFull[1024] = {0}; int iLen = pGetProcessImageFileNameA(hProcess,cFull,1024); Json::Value sysinfo; sysinfo["dwPid"] = (int)PInfo.th32ProcessID; sysinfo["FileName"] = PInfo.szExeFile; sysinfo["FilePath"] = DosDevicePath2LogicalPath(cFull); sysinfo["dwThreads"] = (int)PInfo.cntThreads; sysinfo["dwPriClass"] = (int)GetPriorityClass(hProcess); root.append(sysinfo); bContinue = Process32Next(hSnapshot, &PInfo); } jsondata = writer.write(root); FILE *fp; fp = fopen("aa.txt", "w"); if(fp ==NULL) printf("fails\n"); fprintf(fp, jsondata.c_str()); 2.value["key"] funtion lost aslong(),if value is FileSize. If updated, please notice 674268015@qq.com,Thank you very much.
-
hello author, I find a expression that in json_reader.cpp 566 line. like this: bool badTokenType = ( token.type_ == tokenArraySeparator && token.type_ == tokenArrayEnd ); the boolean expression always return false. I think not '&&' but '||', do you thing so ?
-
Segfaults at __gnu_cxx::__exchange_and_add when trying to create and destroy a Reader object. Tried with both ubuntu repositories version and self-compiled version. Using gcc 4.8
-
Ca marche nickel , ça marche sous C++ Builder 6 : utilise les : - conteneur : tableau associatif (map), tableau dynamique (vector) de la STL C++ , - flux de chaînes : stringstream (STL C++) , - string (de la STL C++) . Très bien, y a tout ce qu'il fallait utiliser !! Pour info, je récupère les données de production d'une éolienne en JSON sous la forme : {"Items":[{"Power":"0 W"},{"DailyYield":"0 Wh"},{"TotalYield":"404,54 kWh"}]} {"Items":[{"Power":"0 W"},{"DailyYield":"22 Wh"},{"TotalYield":"576,16 kWh"}]} je décode en C++ Builder6 avec : AnsiString reponse ; // contient la donnée de production éolienne au format JSON JSONValue json ; string power, dailyYield, totalYield ; reponse[ reponse.Length() ] = 0 ; // supprime le '\0' de fin de chaîne de caractères json.decode( reponse.c_str() ) ; if( ! json.empty() ) { power = json["Items"] [0] ["Power"].asString() ; dailyYield = json["Items"] [1] ["DailyYield"].asString() ; totalYield = json["Items"] [2] ["TotalYield"].asString() ; } En javascript, pour décoder du JSON, j'utilise la librairie : json.js Merci beaucoup, ça m'a bien aidé , Did
-
Good one! Simple and fast.
-
Documentation / setting up the project is a nightmare! Readmes are all outdated.
-
We use JSON in our product absolutely everywhere. And some very complicated JSON as well. Using this library introduced heap corruption into our product. It was reproducible, but under very odd circumstances. Writing our own JSON reader magically made all of our heap corruption go away. Do not use this for anything commercial-grade. It would probably work OK for the most part for some utility projects or something simple.
-
Good library: it can store UTF-8 text without \uXXXX\uXXXX encoding, so .json file is easy to read in text editors. I don't know if this violates some standards, but it is good. Much easier in usage than boost::property_tree::json_read(). The boost can't save/load symbols > 127, it even can't read its own \uXXXX codes. I love root["name"]["name"] syntax of jsoncpp. Also i like that it is GPL-free, because GPL is a virus and not a true freedom. One thing i regret about: there is no long int type, so i have to use double :) Used it in my project: audigger (sourceforce)
-
Very helpfull!
-
terrific program
-
I love it!
-
Wow that is an impressive
-
Thanks!
-
Really nice project! Thanks a lot!
-
UP for this project
-
Good and useful software
-
I have been looking for this project for a long time. Awesome work dudes!
-
Great software! :) Thanks
-
i use it every day, can't live without it!
-
It is NOT user friendly but it work very well
-
Good for work with C++. Thank you dudes!
-
Hello,i want to know how to use json-cpp in c++ builder 6.0 ,thank yours.