Wie kann ich den Text in der JSON-Zeichenfolge durch ein Benutzer-Skript für Greasemonkey ersetzen?

8

Ich möchte ein Benutzerskript für Greasemonkey in Firefox erstellen, ohne jQuery zu verwenden, das alten Text durch neuen Text ersetzen kann, wenn die Seite der Website geladen wird.

HTML-Code:

%Vor%

Ersetzen Sie "blau" des Auges durch "grün", "blau" der Lieblingsfarbe durch "rot" und "männlich" durch "weiblich".

Wenn die Seite geladen wird, möchte ich zum Beispiel Grün (nicht Blau) für Auge und Weibchen für Geschlecht (nicht Männchen) sehen.

Ich denke, ich muss die nächsten Funktionen verwenden:

%Vor%

PS: Der Code JSON befindet sich direkt auf der Seite und nicht in der Datei (../ code.json)

Userscript-Code:

%Vor%

Es funktioniert nicht

Kann jemand mit dem richtigen Code helfen?

    
nemrod 01.02.2015, 14:38
quelle

3 Antworten

8

Erste stringify() dein JSON.

%Vor%

Als nächstes benutzen Sie die .replace() JavaScript String Funktion.

%Vor%

Jetzt parse() dein JSON in ein Objekt.

%Vor%

Nun können Sie jsonObject für alles verwenden, was Sie wollen.

BEARBEITEN: Verwenden Sie diese Zeilen anstelle des vorherigen .replace() s.

%Vor%     
Data2000 01.02.2015 15:45
quelle
0

genaueres Verfahren wäre die Verwendung regulärer Ausdrücke.

%Vor%

Auf diese Weise wissen Sie, dass Sie das Blau für die Augen und nicht das Blau ersetzen (wie die Lieblingsfarbe). das 'g' & amp; 'm' Optionen für den regulären Ausdruck stehen für global, was dazu führt, dass nach allen passenden Übereinstimmungen gesucht wird (falls Sie mehrere "Augen" in Ihrem json haben) und "m" für multiline. falls Ihre Zeichenfolge multiline ist.

    
Gal Ziv 01.02.2015 16:10
quelle
0

Erste Iteration - JSON.stringify

%Vor%

Zweite Iteration - Seien Sie nett für ES Harmony

  • Regel hinzufügen - Fügt einen strikten Vergleich hinzu
  • add matcher - fügt jede Funktion hinzu, die für den Datenabgleich / -austausch verantwortlich ist

%Vor%
    
Krzysztof Safjanowski 27.06.2016 13:34
quelle