{title:'URL-Encoding Methodology'}
General methodology:
Java typeJSON equivalentUON
Maps/beans OBJECT | a1=(b1=x1,b2=x2) | a1=(b1=(c1=x1,c2=x2))
Collections/arrays ARRAY | a1=@(x1,x2) | a1=@(@(x1,x2),@(x3,x4)) | a1=@((b1=x1,b2=x2),(c1=x1,c2=x2))
Booleans BOOLEAN | a1=true&a2=false
int/float/double/... NUMBER | a1=123&a2=1.23e1
null NULL | a1=null
String STRING | a1=foobar | a1='true' | a1='null' | a1='123' | a1=' string with whitespace ' | a1='string with ~'escaped~' quotes'

Refer to the UON specification for a complete set of syntax rules.