hi,
Welchen PHP-Parser meinst du? Die Funktion json_decode() nimmt einen String entgegen. Ein Content-Type spielt dabei keine Rolle. Da muss nur ein gültiger JSON-String übergeben werden.
Je nach gesendetem Content-Type stellt der Parser auch in PHP die Daten wieder her für einen wahlfreien Zugriff. Üblich sind 'application/x-www-form-urlencoded' und 'multipart/form-data' und der wahlfreie Zugriff ergibt sich nach dem Parsen über $_POST//$_GET je nachdem wo die Daten herkommen. Auf jeden Fall fragt auch in PHP der Parser den gesendeten Content-Type ab, denn er muss ja wissen nach welchem Algorithmus die Daten wiederhergestellt werden sollen.
Eine Überlegung, dass ebendieser Parser bei einem gesendeten Content-Type: application/json die wiederhergestellte Datenstruktur direkt ins $_POST Array schreibt ist also naheliegend, aber ob er das wirklich macht, kann ich momentan nicht sagen (das wäre zu prüfen). Es wäre ein impliziter Aufruf $_POST = json_decode(STDIN); um das mal so zu formulieren.
Schön wär's ja!