diff --git a/lib/restler.js b/lib/restler.js index bf6cc57..019c7db 100644 --- a/lib/restler.js +++ b/lib/restler.js @@ -368,12 +368,15 @@ var parsers = { }, json: function(data, callback) { if (data && data.length) { + var err; try { - callback(null, JSON.parse(data)); - } catch (err) { + data = JSON.parse(data); + err = null; + } catch (caughtErr) { + err = caughtErr; err.message = 'Failed to parse JSON body: ' + err.message; - callback(err, null); } + callback(err, data); } else { callback(null, null); }