2022-09-14 Getting an unescaped JSON string from Xcode console

If you're debugging an app, you may want to copy raw JSON in Xcode, then paste it into a specialized app. The problem is, Xcode doesn't make it obvious how to actually do this.

In my first attempt, I set a breakpoint at the appropriate line of code, and Xcode listed the variables in the Variables View. In my case, that variable was called "response" of type "optional Data". So I first tried typing the following at the debugger prompt:

  ldb> po String(decoding: response.data ?? Data(), as: UTF8.self)

This however will print the string but it will escape all quotes with a backslash. To be able to select and copy unescaped JSON from the console, type the following:

  ldb> e print(String(decoding: response.data ?? Data(), as: UTF8.self))