I'd just point out that the idiom of storing structured data as JSON in a text field is already well established in edX.  See the 'state' field of the StudentModule, for example.  That said, I'm open to other suggestions.  I would tend to think that creating a separate table just for that field is probably overkill, though.