Comment faire pour obtenir l'emplacement des erreurs de json.charges en Python

Lorsque j'utilise json.charges en Python 3 et détecter toutes les erreurs qui en résulte, comme:

try:
  data = json.loads(string)
except ValueError as err:
  print(err)

Je reçois un message utile comme:

Expecting ',' delimiter: line 12 column 12 (char 271)

Je voudrais être en mesure d'afficher à l'utilisateur, avec exactement à l'emplacement qui est à l'origine du problème (je suis de la lecture dans écrites par l'utilisateur JSON). Comment puis-je sortir de la ligne et de la colonne?

Je pourrais utiliser un regex sur l'erreur, mais qui se sent comme une mauvaise idée, car je ne sais pas si ce message est internationalisé, et pourrait changer dans les différentes versions de python. Est-il un meilleur moyen?

OriginalL'auteur Chris Jefferson | 2013-10-22