In my work on the JRuby project, it has become painfully obvious that many Java APIs lose performance out of the gate because of the cost of decoding all incoming bytes to char before processing them. This also makes it difficult for JVM languages that use a different String representation to use those APIs.
I propose that the JSON processing API for Java should not impose String or char on consumers unnecessarily. In the style of the "spymemcached" library, it should be possible to register a factor that can create strings of other forms directly from the incoming bytes, allowing for parsing and processing JSON without ever decoding. This would make it possible (and may be necessary) to match the performance of C-based libraries, and allows consumers that do not want decoded characters/strings to use the raw bytes directly.
I will be monitoring this JSR once activity begins and discussions are made public.