If you are going to use the String class, the reason would be that you want to use the operators and functions that the class offers. Otherwise, just stay with a string (i.e., a c string).
If your data is simple then you can convert it to json manually. Here's how I send weight, temperature and humidity when requested. It might save some room by not needing the json library.
I've used sprintf before kinda handy, and I did a json reply with it, but I didnt use strcat(), is that similar to concat().
I have 2 json replys, one for current settings, and another for recorded values to be displayed on a chart, the latter is the trouble.
I might be able to put something together using sprinf to output the char array in a for loop.
I'm dealing with melt temps, melt pressures & drive current, but essentially the same thing.