We are happily using your fine jsoncpp on our embedded system. We don't have a very powerfull CPU in there. Hence the software should be as efficient as possible.
yesterday something caught my eye:
json_writer::valueToString uses sprintf. Afterwards the lentgh of the resulting string is being calculated. Why not using the length returnd by sprintf?
Attached you can find a diff file.