I put the complete error description into a gist (https://gist.github.com/5d2cef1414f1643fca5a) for better readability.
The basic problem is that a properly encoded Json post request gets decoded an a very weird way. For example a "ü" which is encoded as "\u00fc" in uft-8 becomes ">\x93" or "~\xD4". I get different results ever time I run the decoder.
Please take a look at the gist, I did my best to give as much useful information as possible.