The conditions are minor:
- drop the duplicate methods enc() and dec(). They don't save much in typing from encode() and decode() which have much clearer names
- Prepend an "_" to the private method names name_value() and reduce_string()
- I'm not super happy with the name of the package. This is not a "service" package per-se, but just a serializer one.
- Whatever name the package will be, the constant names need to be fixed.
- Since the use of OOP in this package is extremely limited, I would suggest to go static and use &PEAR::getStaticProperty instead with a Service_JSON::setMode() kind of method.