Często używam JSON do edytowania przez użytkownika plików konfiguracyjnych. Zniekształcony JSON jest oczywiście odbierany przez mnie json.loads
, ale czasami są błędy, których nie znajduję, dopóki nie przejdę przez wynikowe dykty/listy/ciągi. Chciałbym móc podać pomocne błędy, takie jak "Niepoprawna wartość" foo "na linii 23", ale kiedy odzyskałem swój dyktat, straciłem mapowanie do oryginalnych numerów linii.Python: biblioteka dekodowania JSON, która może skojarzyć dekodowane elementy z oryginalnym numerem linii?
Możliwe, że ktoś mógł napisać parser JSON, który otagował każdy obiekt wyjściowy za pomocą pewnych metadanych dotyczących miejsca, w którym pojawił się w tekście wejściowym: czy coś takiego istnieje dla Pythona?
Przykład:
1. [{"foo": "x"},
2. {"bar": "y"}]
Po parsowania powyższe, uważam, że „y” nie jest faktycznie wartość prawną „bar”, i chciałbym wiedzieć, że pochodził z numerem linii 2.
Niestety uważam, że nie ma takiej biblioteki dla Pythona, a przynajmniej nie widziałem tej funkcji w głównych bibliotekach JSON (json, simplejson, Jansson). –