Ich habe eine Zeichenfolge wie unter (es ist eigentlich eine verschachtelte json)Python eine Teilkette aus einer Zeichenkette aus einem bestimmten Position
{ "a" entfernen: "x", "b" 1, "c" : "{" a ":" x "," b ": 1," c ":" {"a": "x", "b": 1, "c": "xa"} "}" }
und ich versuche, einen bestimmten Teil der Zeichenfolge (fett formatierter Text) zu extrahieren. Und "xa" kann ein anderes verschachteltes json-Objekt sein.
Also die Bedingung ist immer ich muss den Teil der Zeichenfolge nach dem 9. Auftreten des "(Zitat-Zeichen) bis vor dem letzten Auftreten des" extrahieren.
Ich habe versucht, diese
newstr = '{"a":"x","b":1,"c":"{"a":"x","b":1,"c":"{"a":"x","b":1,"c":"xa"}"}"}'
newstr2=newstr.split('"')[9:]+newstr.rsplit('"')[1:]
newstr3 = ''.join(newstr2)
print(newstr3)
its me den Teil aus dem String zu geben, aber, da ich die Saite am Aufspalten von ‚„‘alle‚“‘ aus dem gesamten String entfernt werden. Also, das Ergebnis, das ich bekomme, ist wie folgt - {a: x, b: 1, c: {a: x, b: 1, c: xa}} und ich brauche die Teilzeichenfolge wie - {"a": "x "," b ": 1," c ":" {"a": "x", "b": 1, "c": "xa"} "}, andernfalls ist es kein gültiges json-Objekt und Ich kann json.loads nicht in der Zeichenfolge verwenden.
Ich erinnere mich, dies in anderen Programmiersprachen, VB und sogar Oracle gespeicherte Prozeduren zu tun, im Grunde habe ich eine Kombination von Substr und Instr Funktionen. Irgendeine Idee, wie dies in Python erreicht werden kann?
sollten Sie:
Wenn Sie diese Daten erneut im String-Format möchten, können Sie
json.dumps()
als verwenden wahrscheinlich benutze zuerst json library um die json string zu analysieren: json.loads ('{"a" ... "}') –