I don't like the term "breaks". "don't work like I expect it should" is more accurate here. Strings are perfectly valid in json.
The reasoning to use strings here is to handle miscellaneous strings coming from the query argument.
While using json in query params of the rewrites members is perfectly feasible, it's different when you have to handle strings coming from the query:
- a params may be a string sometimes or an array in a view, or maybe just a string in a view too :
When you aren't rewriting a view. Should it be considered like [1,2] or "[1,2]" or ["1", "2"] ?
First implementations was considering that everything in the query was json values. It was apparently a problem for some.
While I have some ideas to solve that, at some point using a format member to define the format of a variable was the simplest and working way to solve that. That what does most of the rewriters even with regexps anyway. (there is btw another implementation I posted on the ml that was badly waiting for reviews ....).
I have some idea about the rewriter DSL anyway. Just need to connect the bits before posting it.