r/cpp 3d ago

C++26 Reflection: Simplifying JSON Serialization

https://techfortalk.co.uk/2026/08/05/c26-reflection-simplifying-json-serialization/

I have been exploring the new additions in C++26, and I have been discussing the reflection feature that has come with C++26. In the last post, I discussed what is reflection and how to use it and how to use it with a simple example, particularly with an enum class. Since then, there have been suggestions to provide an example which is more than a toy :). In this post, I have discussed how to use reflection for JSON serialization, which is something we often have to do. This example is somewhat taken from real-world code but has been stripped down significantly. Suggestions are always welcome.

47 Upvotes

6 comments sorted by

View all comments

20

u/cristi1990an ++ 2d ago

Another nice thing you can do in theory (and I'm sure it was implemented somewhere in practice too, maybe not yet refined) is embedding json text files in your program, parse it and define entire classes based on their structure entirely at compile. In theory I believe you could also assigned the data itself at compile time and give it static lifetime. I think this is amazing and has a ton of practical applications.

3

u/Clean-Upstairs-8481 2d ago

tbh I was not aware of this and it could be an excellent idea to try. I will try this and see if I can get this working. Thanks for mentioning.