The function xo_trim_ws should remove white space according to isspace(3), not just space characters (the fix is not straightforward, so reporting it as a bug).
For example, if passing tab characters (the white space is just a literal tab):
$ xo "{t:description}" " squash this! " --libxo json
"description":" squash this! "
Related to #101.