PHP décodage JSON POST

J'essaie de recevoir POST des données sous forme de JSON. Je suis curling:

curl -v --header 'content-type:application/json' -X POST --data '{"content":"test content","friends":[\"38383\",\"38282\",\"38389\"],"newFriends":0,"expires":"5-20-2013","region":"35-28"}' http://testserver.com/wg/create.php?action=post

Sur le PHP côté mon code est:

$data = json_decode(file_get_contents('php://input'));

    $content    = $data->{'content'};
    $friends    = $data->{'friends'};       //JSON array of FB IDs
    $newFriends = $data->{'newFriends'};
    $expires    = $data->{'expires'};
    $region     = $data->{'region'};    

Mais même quand je print_r ( $data) rien n'est retourné vers moi. Est-ce la bonne façon de traiter un POST sans forme?

Pourquoi n'êtes-vous pas à l'aide de json_decode($_POST)?
quand j'essaie, il me donne l'erreur json_decode() expects parameter 1 to be string, array given
Parce que $_POST est supposé être l'URL des données codées.
Debug plus en détail. var_dump le contenu du POSTE avant de les décoder. Il semble juste comme invalid JSON pour moi.
Il me déroute que c'était fermé. C'est un produit totalement générique de la question - comment analyser un HTTP POST-chaîne en JSON en PHP. De toute façon d'une manière qui fonctionne pour moi est: $inputContents = json_decode($HTTP_RAW_POST_DATA, true);

OriginalL'auteur Chris | 2013-02-16