2014-12-21 3 views
-2

У меня есть этот локон код мне нужно, чтобы преобразовать его в PHPлокон для преобразования PHP, массив + JSON

curl -H "Content-Type: application/json" -d '{"command":"sendoffer", 
"steamID":"###############","token":"lkTR4VG2", "itemIDsToRequest":["4942877123","4892501549"], 
"message": "Message"}' http://website:1337/ 

Как вы можете видеть, что есть массив наряду с нормальным JSON.

"itemIDsToRequest":["4942877123","4892501549"] 

Я посмотрел на многие вопросы, как this и this, но не мог понять, как его реализовать.

Имейте в виду, что это очень новое для завивки команды.

ответ

2

массив является частью строки JSON, которая не интерпретируется, а используется как простые данные строки в CURL, поэтому на самом деле не имеет значения, что там; использовать ту же самую строку JSON, как из вашего командной строки, например, так:

$data = '{"command":"sendoffer", "steamID":"###############","token":"lkTR4VG2", "itemIDsToRequest":["4942877123","4892501549"], "message": "Message"}' 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
+0

Да, он прав. Нет необходимости конвертировать в php-массив: D Почему я это сделал? –

+0

Я ответил на вопрос строго, но я уверен, что вызов json_encode является частью ответа на следующий вопрос ;-) –

+0

@HansZandbelt im создает массив динамически .. поэтому вместо создания массива я должен просто создать строку в этом формате – deepakgates

0

Если массив

$data = array("command"=>"sendoffer", "steamID"=>"###############","token"=>"lkTR4VG2", "itemIDsToRequest"=>array("4942877123","4892501549"),"message"=>"Message"); 

Затем отправить его на своем пути в формате JSON с завитком, как что:

$url = 'http://website:1337/'; 
$ch = curl_init($url); 

// Convert array to json string 
$data_json = json_encode($data); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json); 

// Indicate in the header that it is json data 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); 

// Send request 
$result = curl_exec($ch); 
curl_close($ch); 
Смежные вопросы