ActiveSupport::JSON.decode issue

Good evening,

I'm having a rather odd JSON decoding issue when attempting to decode an RPX JSON response containing the profile data.

Using the command test = ActiveSupport::JSON.decode, passing it the string:

{\"profile\":{\"verifiedEmail\":\"\",\"name\": {\"formatted\":\"Test Name\"},\"address\":{\"country\":\"United Kingdom \"},\"displayName\":\"Test Name\",\"preferredUsername\":\"Test\",\"url \":\"http:\\/\\/\\/\",\"gender\":\"male\",\"utcOffset \":\"00:00\",\"birthday\":\"1971-02-10\",\"providerName\":\"MyOpenID\", \"primaryKey\":\"2\",\"identifier\":\"http:\\/\\/\\/ \",\"email\":\"\"},\"stat\":\"ok\"}"

The command executes without any warning or exception. However when I run the following on IRB I get an odd result:

irb(main):085:0> test["profile"]["birthday"] => "19 1-02-10"

In the JSON string, if I replace \"http:\\/\\/\\/\" with just \"http\" everything works as expected and the value gets interpreted as an instance of the Date class.

Could someone help me find the right direction on this one? Rather lost :wink:

Best regards, DBA


After dropping the ActiveSupport JSON decoder for the parser available at everything started working as intended.

Best regards, DBA