Alternative ADL model serialization functions with nlohmann::json

How to implement co-existing alternative JSON serialization logic for the same data model using `nlohmann::json`