When are you going to find time to add discrete host and service querying to your Nagios2JSON CGI? it has been a loong time since you have updated your CGI code, yes?
We are starting to work on this exact thing (discrete host/service/contact etc queries with JSON) soon at my job.
I think SOAP should be avoided like the plague as it has interoperability issues across operating systems.
XML is fine as some commercial products only deal with XML as an external data exchange format.
see livestatus, it provide anything you need to get hosts, services, hostgroups and so on through unix socket, tcp socket or ssh. It's very close to be the api we were awaiting for ! and the results are returned in json format !