URL encoding and JSON encoding both allow to convert a (nested) object to string, but the format is different. An URL encoded string is in general not a valid JSON string.
One application may use one encoding method, and another the other. As long as they don't mix the two, it will work.