Rob,
Here is a simple example of the existing JSON representation for a card sort:
{ 'correctAnswers': [ ['left-1782245035128', 'right-1782245035129'],
['left-1782245102902', 'right-1782245110367'],
['left-1782245135124', 'right-1782245123236'],
['left-1782245848229', 'right-1782245035129']],
'feedback': 'Not quite. Try again.',
'left': [ {'id': 'left-1782245035128', 'label': '<p>England</p>'},
{'id': 'left-1782245848229', 'label': '<p>France</p>'},
{'id': 'left-1782245102902', 'label': '<p>USA</p>'},
{'id': 'left-1782245135124', 'label': '<p>Egypt</p>'}],
'right': [ {'id': 'right-1782245035129', 'label': '<p>EUEFA</p>'},
{'id': 'right-1782245110367', 'label': '<p>CONCACAF</p>'},
{'id': 'right-1782245123236', 'label': '<p>CAF</p>'}],
'statement': '<p>Here is a cool card sort question. Match the national teams to
their regional confederation.</p>’}
Correct / incorrect feedback keys would be added to the list of objects referenced by the ‘left’ key.
statement, feedback, plus new feedback(s) could all contain arbitrary html.
Brad