/** * Convert keys to camelCase * * @param array $dataArray * @return \stdClass */ public function convertKeysToCamelCase(array $dataArray) { $response = []; if (isset($dataArray[EavAbstractObject::CUSTOM_ATTRIBUTES_KEY])) { $dataArray = EavDataObjectConverter::convertCustomAttributesToSequentialArray($dataArray); } foreach ($dataArray as $fieldName => $fieldValue) { if (is_array($fieldValue) && !$this->_isSimpleSequentialArray($fieldValue)) { $fieldValue = $this->convertKeysToCamelCase($fieldValue); } $fieldName = lcfirst(str_replace(' ', '', ucwords(str_replace('_', ' ', $fieldName)))); $response[$fieldName] = $fieldValue; } return $response; }
/** * Convert data object to array and process available custom attributes * * @param array $dataObjectArray * @return array */ protected function processDataObject($dataObjectArray) { if (isset($dataObjectArray[EavAbstractObject::CUSTOM_ATTRIBUTES_KEY])) { $dataObjectArray = EavDataObjectConverter::convertCustomAttributesToSequentialArray($dataObjectArray); } //Check for nested custom_attributes foreach ($dataObjectArray as $key => $value) { if (is_array($value)) { $dataObjectArray[$key] = $this->processDataObject($value); } } return $dataObjectArray; }