Mam obiektu JSON utworzone w PHP, że obiekt JSON zawiera kolejny uciekł JSON ciąg w jednym z nich znajduje się w komórki:Decode kompleks JSON w Pythonie
php > $insidejson = array('foo' => 'bar','foo1' => 'bar1'); php > $arr = array('a' => array('a1'=>json_encode($insidejson))); php > echo json_encode($arr); {"a":{"a1":"{\"foo\":\"bar\",\"foo1\":\"bar1\"}"}}
Potem, Python, próbuję deocding go za pomocą simplejson:
>>> import simplejson as json >>> json.loads('{"a":{"a1":"{\"foo\":\"bar\",\"foo1\":\"bar1\"}"}}')
ten nie powiedzie się z powodu następującego błędu:
Traceback (most recent call last): File "", line 1, in ? File "build/bdist.linux-i686/egg/simplejson/__init__.py", line 307, in loads File "build/bdist.linux-i686/egg/simplejson/decoder.py", line 335, in decode File "build/bdist.linux-i686/egg/simplejson/decoder.py", line 351, in raw_decode ValueError: Expecting , delimiter: line 1 column 14 (char 14)
Jak mogę dostać ten obiekt JSON dec oded w Pythonie? Zarówno PHP, jak i JS dekodują go pomyślnie i nie mogę zmienić jego struktury, ponieważ wymagałoby to dużych zmian w wielu różnych komponentach w różnych językach.
Dzięki!
to działa, dziękuję! –
Tak Zgadzam się hughdbbrown, zapomniałem o nieprzetworzonej funkcji Pythona. +1 –