XSLT and XPath is about the only reason I can see to use this. But, you know, how hard is:
x.person.addresses[0].city?
I guess XPath is easier when you probably have to do something like this: JSONObject json = (JSONObject) JSONSerializer.toJSON( jsonTxt )
String city = json.getJSONObject("person").getJSONArray("addresses").getJSONObject(0).getJSONObject("city");
Or however you'd do it in Java.