/** * Converts the response in JSON format to the value object i.e Recommender * * @param json * - response in JSON format * * @return Recommender object filled with json data * */ public function buildResponse($json) { $recommenderObj = new Recommender(); $recommendedItemList = array(); $recommenderObj->setRecommendedItemList($recommendedItemList); $recommenderObj->setStrResponse($json); $jsonObj = new JSONObject($json); $jsonObjApp42 = $jsonObj->__get("app42"); $jsonObjResponse = $jsonObjApp42->__get("response"); $recommenderObj->setResponseSuccess($jsonObjResponse->__get("success")); $jsonObjRecommender = $jsonObjResponse->__get("recommender"); $this->buildObjectFromJSONTree($recommenderObj, $jsonObjRecommender); if (!$jsonObjRecommender->has("recommended")) { return $recommenderObj; } if ($jsonObjRecommender->__get("recommended") instanceof JSONObject) { // Only One attribute is there $jsonObjRecommended = $jsonObjRecommender->__get("recommended"); $recomItem = new RecommendedItem($recommenderObj); $this->buildObjectFromJSONTree($recomItem, $jsonObjRecommended); } else { // There is an Array of attribute $jsonObjRecommenderArray = $jsonObjRecommender->getJSONArray("recommended"); for ($i = 0; $i < count($jsonObjRecommenderArray); $i++) { // Get Individual Attribute Node and set it into Object //$jsonObjRecommended = new JSONObject($jsonObjRecommenderArray[$i]); $jsonObjRecommended = $jsonObjRecommenderArray[$i]; $recomItem = new RecommendedItem($recommenderObj); $jsonObjRecommended = new JSONObject($jsonObjRecommended); $this->buildObjectFromJSONTree($recomItem, $jsonObjRecommended); } } return $recommenderObj; }