we would suggest to more clear seperate the both worlds, usage of terms and clear seperation of what is the final target / goal to achieve.
The targeted output we do understand:
Her we do see a JSON. A JObject with three Properties: email, quantity, custom_fields. The value of the custom_fields is again a JObject
The way / strategy to create the above JSON was selected by you to create it with nested dictionary.
As far we have understood,have a look here:
dictCF
dictTotal:
Assign Activity:
dictTotal(“custom_fields”) = dictCF
And finally we bring it to JSON:
it looks close to your above mentioned json
Kindly note: the double quotes is the visuallzation of inner double quotes and not part of the string.