As good as telling what the libray does is to tell what it doesn't and this section lists known limitations or unexpected bahavoiurs you may find using this library as to be warned about it.
- wide characters support
- This release of the library does not support wide characters (characters that require more than 8 bits for representing its value) data for C++ as all string values are stored in STL std::string objects, although it can deal with Unicode characters for JSON data. What it means is that, at the time of generating JSON data, as there is no way to express wide character strings, all the JSON formatted strings will result in 8 bits per character repesentation and that, at the time of parsing JSON formatted data into C++, unicode characters wider than 8 bits will be correctly read but only the least significant byte for each character will be stored in the resulting C++ string.
- floating point and integer numeric values
- As it is explained in the data values section, in order to ease conversion to and form C++ numeric data, two separate numeric values containers have been created, one for fixed point integer values and other for floating point quantites. This restriction is not imposed by JSON itself that indifferently express fixed and floating point quantities as numeric values. At time of generating JSON data, this restriction is generally trivial as you can always use the floating point numeric value container for any quantity and, if this quantity results in an integer value, the resulting JSON generated value will be correctly expressed but, at the time of parsing JSON data, you may expect the integer or the floating point value container read for a quantity depending on the particular data value read and it will be up to the user to determine (usually via dynamic casting) which value conatiner was used by the parsing process.
RSS Feeds