Compile time or runtime? Compile time reflection would be completely painless and bloat-free.
replies(3):
I suppose C++'s template system might be able to generate JSON deserializers with static reflection as well
It definitely can, and it will be faster and more type-safe than doing it at runtime. But if you do want to do it at runtime, well, it's possible to implement runtime reflection as a library on top of compile-time reflection, so someone will probably do that.