Parse nur eine Ebene von json

8

Ich habe die folgende Zeichenfolge:

%Vor%

Ich möchte nur auf Ebene analysieren, so dass das Ergebnis ein Wörterbuch mit einer Ebene mit Schlüssel sein sollte, und Wert sollte nur eine Zeichenfolge sein (muss nicht analysiert werden)

Für gegebene Zeichenfolge sollte es mir folgendes Wörterbuch geben:

%Vor%

Gibt es einen schnellen Weg? Ohne die gesamte Zeichenfolge nach json zu analysieren und alle Werte in Zeichenfolgen umzuwandeln.

    
Eugene Nagorny 30.08.2012, 11:23
quelle

3 Antworten

3

Kaum eine Antwort, aber ich sehe nur zwei Möglichkeiten:

  1. Laden Sie den vollständigen JSON und geben Sie die Werte zurück, die Sie in Ihrer Frage ausgeschlossen haben
  2. Ändern Sie den Inhalt, indem Sie die Werte in Anführungszeichen einschließen, damit die JSON-Ladung Zeichenfolgenwerte
  3. liefert

Um ehrlich zu sein, ich denke, es gibt keinen "performancekritischen JSON Parsing Code", es klingt einfach falsch, also würde ich mit der ersten Option gehen.

    
icecrime 30.08.2012, 12:18
quelle
1

Ich weiß jetzt nicht, ob es wirklich das ist, was du brauchst, aber probiere

aus %Vor%

Es ist ein bisschen knifflig, weil Sie auf JSON full object laden und dann nur die Werte im Dictionary ausgeben.

    
Alexey Kachayev 30.08.2012 11:57
quelle
1

Ich denke, Sie können dies mit Regex lösen, es funktioniert für mich:

%Vor%

Aber ich weiß nicht, ob das schneller ist, Sie müssen versuchen, Ihre Daten zu verwenden.

[BEARBEITEN]

Ja, es ist schneller. Ich habe die folgenden Skripts ausprobiert und die Regex-Version ist 5-mal schneller.

mit JSON-Modul:

%Vor%

mit Regex:

%Vor%     
olivecoder 30.08.2012 13:45
quelle

Tags und Links