String to Array
Das kann doch wohl nicht dein Ernst sein. Es war mit Sicherheit gemeint, dass du ganz einfach den JSON-String an json.loads() übergeben sollst...
EDIT:
Ich kann mir nicht helfen, aber bei Leuten, die den Encoder (der übrigens viel später als loads() in der Doku vorkommt) bei Übergabe eines Strings als Lösung ansehen, nur weil sie anschließend mit Python-Boardmitteln die String-Repräsentation geparst haben (was ja auch ganz ohne json-Modul gegangen wäre), da habe ich immer einen starken Troll-Verdacht. Vielleicht bin ich auch etwas betriebsblind, weil ich ausgehend von meinen Python-Erfahrungen einfach nicht glauben kann, dass jemand solche - ich nenn es mal - "seltsamen" Gedankengänge hat.
EDIT:
Ich kann mir nicht helfen, aber bei Leuten, die den Encoder (der übrigens viel später als loads() in der Doku vorkommt) bei Übergabe eines Strings als Lösung ansehen, nur weil sie anschließend mit Python-Boardmitteln die String-Repräsentation geparst haben (was ja auch ganz ohne json-Modul gegangen wäre), da habe ich immer einen starken Troll-Verdacht. Vielleicht bin ich auch etwas betriebsblind, weil ich ausgehend von meinen Python-Erfahrungen einfach nicht glauben kann, dass jemand solche - ich nenn es mal - "seltsamen" Gedankengänge hat.
Zuletzt geändert von snafu am Freitag 22. Dezember 2017, 01:31, insgesamt 1-mal geändert.
Na, wie gesagt einfach deinen String übergeben:
Dann hast du ein dict und dieses kannst du verarbeiten.
Code: Alles auswählen
data = json.loads(dein_string)
Das ist kein String (auch in keiner anderen Sprache). Sondern die literale Darstellung von Listen und Wörterbüchern. Mit anderen Worten: das ist schon das Endergebnis. Aber so kommt das garantiert nicht von einer Webseite. Von dort kommt ein String:
'[{ "key": 10 }]'
Man beachte die äußeren Anführungszeichen.
'[{ "key": 10 }]'
Man beachte die äußeren Anführungszeichen.
@onoli: wie auch immer Dein Teil "Daten von der Webseite holen" aussieht, der macht schon alles was Du brauchst. Jetzt mußt Du nur noch auf die Daten, die schon in einer Pythonstruktur vorliegen, zugreifen. Dazu solltest Du Dir dringend ein Grundlagentutorial durchlesen, um die verschiedenen Datentypen von Python kennen zu lernen.
Code: Alles auswählen
import json
personendaten = [{u'alter': u'21', u'vorname': u'urs'}]
print personendaten['alter']
Danke für deinen Input.Sirius3 hat geschrieben:@onoli: wie auch immer Dein Teil "Daten von der Webseite holen" aussieht, der macht schon alles was Du brauchst. Jetzt mußt Du nur noch auf die Daten, die schon in einer Pythonstruktur vorliegen, zugreifen. Dazu solltest Du Dir dringend ein Grundlagentutorial durchlesen, um die verschiedenen Datentypen von Python kennen zu lernen.Code: Alles auswählen
import json personendaten = [{u'alter': u'21', u'vorname': u'urs'}] print personendaten['alter']
Mein Konto wurde aus irgend einem Grund gelöscht und meine Posts ebenso.
Nichtsdestotrotz ich habe mir das Tutorial durchgelesen, leider funktioniert es noch nicht ganz wie ich dies gerne hätte.
Ich habe momentan keine Ahnung was er mit dem list => dict gemacht hat.
Code: Alles auswählen
=> Output als print
import json
personendaten = [{u'alter': u'21', u'vorname': u'urs'}]
type(personendaten)
=> <type 'list'>
personendaten = dict(personendaten)
type(personendaten)
=> <type 'dict'>
print (personendaten['vorname'])
=> alter
print (personendaten)
{u'vorname': u'alter'}
print (personendaten['alter'])
=> Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'alter'
@onoli: sorry, hab die Liste übersehen. Aus irgendeinem Grund hast Du eine Liste mit einem Element. Das mußt Du zuerst ansprechen:
Da Du nicht verrätst, wie Du an die Daten kommst, kann man aber auch nicht sagen, ob das alles so richtig ist.
Code: Alles auswählen
print personendaten[0]['alter']
PerfektSirius3 hat geschrieben:@onoli: sorry, hab die Liste übersehen. Aus irgendeinem Grund hast Du eine Liste mit einem Element. Das mußt Du zuerst ansprechen:Da Du nicht verrätst, wie Du an die Daten kommst, kann man aber auch nicht sagen, ob das alles so richtig ist.Code: Alles auswählen
print personendaten[0]['alter']

Danke dir vielmals, jetzt hat es funktioniert.

