We're creating our JSON responses to my salesforce callouts in house, so I'm guessing the issue has to do with how we're representing NULL in the JSON response. Here's a snippet of the response SF gets:


Note the NULL value for Country, which isn't a string because it isn't in quotes. That seemed to be the proper way to do it from what I've seen online, but attempting to map response using JSON.deserializeUntyped got me the 'unrecognized token' error. Replacing null with any string, including "null", fixes the error.

So is my issue with not correctly representing NULL in my JSON, or is this an issue with the salesforce deserialize method?

1 Answer 1


In JavaScript/JSON null is defined but NULL isn't. Try null. (Which is different from "null" or 'null' which are strings.)

I just checked and Apex's JSON.deserializeUntyped throws System.JSONException: Unrecognized token 'NULL' for NULL but works with null i.e. it is (not to surprisingly) consistent with JavaScript/JSON.

  • JSON, like JavaScript, is indeed case sensitive.
    – sfdcfox
    Jul 26, 2014 at 0:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .