Hi everybody, I am studying for an MSc in Computer Science at Oxford Brookes University. I have taken a compiler construction course this year and I am therefore interested in the JSON Parser idea for the Boost library. Open Source JSON parsers have already been implemented in C++ and in Java. Examples of Java libraries are: Gson, quick-json. Even if other libraries already exist, developers who are using Boost for their project will appreciate having a JSON parser within Boost.
From a compiler construction background, writing a JSON parser is not difficult. The JSON grammar is simple and the specification is easy to find. Potential difficulties can exist with robustness of error handling and recovery.
The question is what data structure we should use to represent JSON objects, and how the user can access key/value pairs in those objects. (examples: Boost.PropertyTree, pre-existing C++ object, ...) Ideally we should offer validating and non-validating implementations. We should also offer JSON generation as well as parsing. Let me know what you think. Kind regards, Stephan.