have clarified: jsonable = anything which jersey methods can return and the framework will turn it in to something sensible without failing

as for string, number being valid json that's less of a concern here, and btw technically they are json fragments but not valid json -- it must be an [ array ] or an { associative: array }.  however plenty of people return them in json contexts (where the strings must be in quotes; jersey does that automatically for inner strings but *not* for outermost strings