[BUG #7507] allow non-string macro values to be spliced into larger strings

- so "foo":"this is ${ARR}" can be expanded into
           "this is [1,2,3]"
  if ARR has the respective array value
- works also with nested maps
- the string representation of these structures is compact (so no pretty
  formatting of Json values), to avoid newlines
[BUG #7650] add comment with pot. improved code
[BUG #7507] serialize Json with spacing

- for better readability
[BUG #7507] minor comment