The difference between walking JSON and XML is simply the syntax of the parser library your are using.
The problem with XML is it has things that don't map directly to most OO languages, like node order matters, and attributes and elements are similar but different things, and mixed content.
So JSON is nice simply because it's close the the OO style everyone is used to today, and is in fact a subset of one of those languages.
IMO either way we need to settle on a way to interchange structured data, and agree on data types, but I would prefer some binary format, text encoding all this data such a waste of space/time.
You are absolutely right on walking the structure. JSON just tends to be easier (in my experience), even when working with XML libraries that make it less of a pain.