I would avoid complicated structures like JSON, since the tools in TW won't let you work with them easily. In most cases, it will be easier to use other tiddlers as if they formed the related table in a relational database.
I think you want each individual to have multiple contact structures. You could store these in separate tiddlers. (e.g. Person1-Contact1, Person1-Contact2). Then have a list field like "contacts" that stores the name of related contact structures:
contacts: [[Person1-Contact1]] [[Person1-Contact2]]
You could have a template for each person. And a contact Template. Your person template would call the contact template:
<$edit field="vorname" .... whatever else needs to be edited here ...>
<$list filter=[enlist{!!contacts}] >
{{||contactTemplate}}
</$list>
The contact template exposes fields like phone number:
Phone: <$edit-text field="phone1" size=20 tag="input"/>
Good luck!
-- Mark