drupal_http_request() returns "Invalid JSON primitive"
If your request URL accepts only JSON object data, then you need to pass the value as JSON object, 
To convert the PHP array/object to JSON object use

drupal_json_encode($input);


If your request URL's output in the form of JSON object, you need to print the array/value after conveting into a JSON object and you need to add the header as 'application/json'

header('Content-Type: application/json');
echo drupal_json_decode($output);