Вопрос - как вставить переменную php в тело запроса json?
public function sender() {
$this->load->model('novaPoshta/novaPoshta');
$api_key = $this->model_novaPoshta_novaPoshta->get_api();
$key = ($api_key['api_key']);
$json = '{
"apiKey":" $key" ,
"modelName": "Counterparty",
"calledMethod": "getCounterparties",
"methodProperties": {
"CounterpartyProperty": "Sender",
"Page": "1"
}
}';
$sender = $this->sendRequest($json);
return $sender;
}
Таким образом получаю ошибку. Если вставить ключ, то все работает
Конечно, в одинарных кавычках нельзя ставить переменные. В в двойных придется экранировать кавычки в теле запроса, потому проще сделать через конкатенацию.
public function sender(){
$this->load->model('novaPoshta/novaPoshta');
$api_key = $this->model_novaPoshta_novaPoshta->get_api();
$key = ($api_key['api_key']);
$json = '{
"apiKey":" ' . $key . '" ,
"modelName": "Counterparty",
"calledMethod": "getCounterparties",
"methodProperties": {
"CounterpartyProperty": "Sender",
"Page": "1"
}
}';
$sender = $this->sendRequest($json);
return $sender;
}
Как вставить переменную php в тело запроса json
public function sender(){
$this->load->model('novaPoshta/novaPoshta');
$api_key = $this->model_novaPoshta_novaPoshta->get_api();
$json = array(
'apiKey'=>$api_key['api_key'],
'modelName'=>'Counterparty',
'calledMethod'=>'getCounterparties',
'methodProperties'=>array(
'CounterpartyProperty'=>'Sender',
'Page'=>1
)
);
return $this->sendRequest(json_encode($json));
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости