Mam następujący JSON ciąg pochodzący z zewnętrznego źródła sygnału wejściowego:Jak parsować nieco źle JSON z Pythonem?
{value: "82363549923gnyh49c9djl239pjm01223", id: 17893}
Jest źle sformatowane JSON string („id” i „wartość” musi być w cudzysłowie), ale muszę przeanalizować go i tak. Próbowałem simplejson i json-py i wydaje się, że nie można ich skonfigurować do analizowania takich łańcuchów.
Korzystam z Pythona 2.5 na silniku aplikacji Google, więc wszelkie rozwiązania oparte na C, takie jak python-cjson, nie mają zastosowania.
Format wejściowy można zmienić na XML lub YAML, w dodatku do JSON wymienionego powyżej, ale używam JSON w projekcie i zmiana formatu w określonym miejscu nie byłaby zbyt dobra.
Teraz przełączyłem się na XML i pomyślnie analizowałem dane, ale czekam na każde rozwiązanie, które pozwoli mi przełączyć się z powrotem do JSON.
Jestem trochę zdezorientowany tym, jak można przełączyć się na XML, ale nie mieć wpływu na dane JSON. Wygląda na to, że masz jakieś zewnętrzne źródło danych w formatach XML lub JSON, ale jego wyjście JSON jest trwale zepsute, jak pokazano, i nie możesz nic z tym zrobić, więc jedyną opcją jest wybranie wersji XML zamiast? Czy może czegoś brakuje? –
możesz parsować go jako YAML bez zmiany, ponieważ to jest YAML też – mykhal
Peter, masz rację - mam zewnętrzne źródło danych, które mogłem kontrolować tylko w jeden sposób - mówiąc, że chcę wejść w JSON, XML lub YAML. Nadia, dzięki - to mój błąd (i ze względu na to, że nie jestem zaznajomiony z interfejsem Stackoverflow w tym czasie). –