Your approach is great as you potentially reduce the attack area of your application. But I'm not sure if there is any evidence that using bodyParser (which would allow some malformed JSON as well as url encoded and multiphase encoded data) would be any significant risk.
You can determine exactly what strict: true means:
http://www.senchalabs.org/connect/json.html
if (strict && '{' != buf[0] && '[' != buf[0]) return next(utils.error(400, 'invalid json'));
It just ensures that JSON starts with {or a. You still rely on Google to not spoil the implementation of JSON.parse in V8, like Rails with YAML, which in my opinion is a relatively safe bet.
source share