curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query(array("data"=>$fields_string))); Now on the server end $_POST['data'] will contain your json data. if you just pass the $fields_string it can be read in the server end too. $data = file_get_contents("php://input"); now $data will contain your json data. It completely depends on the server you are interacting with. If it needs json in a variable then pass it using http_build_query. Otherwise just pass json as you are doing right now. What you server expects? -- Shiplu Mokaddim My talks, http://talk.cmyweb.net Follow me, http://twitter.com/shiplu SUST Programmers, http://groups.google.com/group/p2psust Innovation distinguishes bet ... ... (ask Steve Jobs the rest) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php