C++ Logo

std-discussion

Advanced search

std::format and json objects

From: Federico Kircheis <federico_at_[hidden]>
Date: Tue, 18 Apr 2023 13:53:34 +0200
Hello, I have a question regarding std::format.

The API works generally very well, but it is problematic to escape every
{ and }, especially when there are a lot of those, like in json objects.

Suppose I have for example the literal

R"json({
"data": {
  "data 1": [
   {"id":1,"name":"foo"},
   {"id":2,"name":"bar"}
  ],
  "data 2": {"id":2,"name":"____"}
},
"otherstuff": {
   "void": [[1,42],[-1,____]]
}
})json"

And I would like to use std::format for replacing ____ with some values.

As far as I know, it is not possible to instruct std::format to use
another pair of delimiters for a single call.

Falling back to std::printf or std::cout does not seem to be the right
solution, and escaping every { and } has drawbacks too.

Was this issue ever discussed or acknowledged?
Are there some obvious workarounds I'm missing?

Best

Federico

Received on 2023-04-18 11:53:40