使用cUrl从PHP发布JSON对象

时间:2016-04-18 12:50:06

标签: php json post curl

我使用php功能json_encode

创建了一个JSON对象

对象以这种方式表达:

$object_array[]=array('value1' => $value1, 'value2' => $value2);

$json_output = json_encode($object_array, JSON_UNESCAPED_SLASHES);

我需要使用PHP的'cUrl'功能将$json_output发布到URL。

任何人都可以基于上述代码提出建议吗?

2 个答案:

答案 0 :(得分:2)

使用curl发布json对象。

$data = array('value1' => $value1, 'value2' => $value2);                                                                    
$data_string = json_encode($data);                                                                                   

$ch = curl_init('http://api.local/rest/users');   // where to post                                                                   
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);                                                                                                                   

$result = curl_exec($ch);

答案 1 :(得分:0)

urlencode()是以编码形式发布网址的最佳方法...

$json_output = json_encode($object_array, JSON_UNESCAPED_SLASHES);
$url = 'www.example.com?url='.urlencode($json_output);

您将在urldecode()的url参数...

后获取数组
$json = urldecode($_GET['url']);