How is this different from jansson? I have used jansson in the past, and it has served me very well.
jsmn only parses the JSON into tokens, you handle all the rest.
jannson provides its own hashmap etc., jsmn doesn't.
I've just used jsmn for a current project of mine where I've already had implemented e.g. a custom hashmap, and I didn't want to link two into my code. So the choice for the lean (if not to say "minimally") jsmn came naturally. And I don't regret it :)
https://github.com/popee/libjason/blob/master/jason.rl
It is implemented in ragel state machine compiler, with no other dependencies. It is modified version of libejson but simplified to use only standard JSON. Also small. Btw ragel is great utility ;-)