Function result is returning escaped string

DataSet is the way to go then.

You can massage that thing into a lot.

Columns can be nested objects.

Warning, Newtonsoft won’t directly deserialize a dataset with nested objects, so you gotta do a little work on the deserialize side sometimes.