This will be really difficult to make a system which will parse object names and instance variables in JSON strings. What I usually do is I add simple tags, for example: "Hey, (player_name)! If you bring me the magic scroll I will give you (coins) gold coins!"
And then before showing this line on the screen I replace tags with real values.
Set text to replace(text, "(playerName)", Player.Name)
Set text to replace(text, "(coins)", NPC.questPrize)