From what I have been able to find out from some research, the SoapClient does not have any built in way to return the data directly as JSON (anyone else know if I'm wrong, it would save a heck of a lot of processing after the fact!) so you will probably need to take the XML returned data and parse it out manually.
I recalled that SimpleXMLElement offers some useful features, and sure enough, someone had some code snippets on php.net to do exactly that: http://php.net/manual/en/class.simplexmlelement.php
<?php
function XML2JSON($xml) {
function normalizeSimpleXML($obj, &$result) {
$data = $obj;
if (is_object($data)) {
$data = get_object_vars($data);
}
if (is_array($data)) {
foreach ($data as $key => $value) {
$res = null;
normalizeSimpleXML($value, $res);
if (($key == '@attributes') && ($key)) {
$result = $res;
} else {
$result[$key] = $res;
}
}
} else {
$result = $data;
}
}
normalizeSimpleXML(simplexml_load_string($xml), $result);
return json_encode($result);
}
?>