Hi, oak.commons.json is currently also used in MicroKernelImpl, and the persistent cache in the DocumentNodeStore. In my experience, the classes JsopBuilder, JsopTokenizer, and JsopStream are much faster and need less memory than org.json.simple, because they use low level "streaming", and not a 1:1 JSON-object-to-Java-object representation. JsonObject (which does support that) is only used for testing; I guess that class could be moved to the test module.
> 1) Is oak.commons.json supposed to support all of JSON? Yes. But actually I don't understand why you ask the question. Do you want to interface with another JSON tool? > 2) If I switch the RDB code to use it, would it be ok to extend/tune it >to meet my specific requirements (with respect to APIs), when needed? What is missing? I think whatever is needed (for high performance JSON processing) should already be there. Regards, Thomas On 02/01/15 15:20, "Julian Reschke" <[email protected]> wrote: >Hi there, > >we currently use two libraries for JSON inside oak-core: > >a) oak.commons.json > >b) org.json.simple > >In the RDB code, I currently use org.json.simple for parsing, and custom >code for serialization (because it made a significant difference some >tests). > >I assume that I *should* be using oak.commons.json, but back when I >looked at this ~12 months ago, it seemed to be specific to "JSOP", not >necessarily supporting all of JSON. > >Questions: > >1) Is oak.commons.json supposed to support all of JSON? > >2) If I switch the RDB code to use it, would it be ok to extend/tune it >to meet my specific requirements (with respect to APIs), when needed? > >Best regards, Julian
