Heim  >  Artikel  >  Web-Frontend  >  Was macht json.stringify()?

Was macht json.stringify()?

青灯夜游
青灯夜游Original
2020-12-16 16:08:0517004Durchsuche

json.stringify() wird zum Konvertieren eines JavaScript-Objekts oder -Werts in einen JSON-String verwendet. Wenn eine Ersetzungsfunktion angegeben ist, kann der Wert optional ersetzt werden, oder der angegebene Ersetzungstyp ist ein Array, und nur das Array kann optional ersetzt werden enthalten. Das angegebene Attribut.

Was macht json.stringify()?

Verwandte Empfehlungen: „Javascript-Video-Tutorial

JavaScript JSON.stringify()

Die Methode JSON.stringify() wird verwendet, um JavaScript-Werte in JSON-Strings umzuwandeln.

Syntax

JSON.stringify(value[, replacer[, space]])

Parameterbeschreibung:

Wert: erforderlich, der zu konvertierende JavaScript-Wert (normalerweise ein Objekt oder Array).

Ersatz: optional. Die Funktion oder das Array, die bzw. das zum Konvertieren des Ergebnisses verwendet wird.

  • Wenn replacer eine Funktion ist, ruft JSON.stringify die Funktion auf und übergibt den Schlüssel und den Wert jedes Mitglieds. Verwenden Sie den Rückgabewert anstelle des Originalwerts. Wenn diese Funktion undefiniert zurückgibt, wird das Mitglied ausgeschlossen. Der Schlüssel des Root-Objekts ist eine leere Zeichenfolge: „“.

  • Wenn replacer ein Array ist, werden nur Mitglieder mit Schlüsselwerten im Array konvertiert. Mitglieder werden in derselben Reihenfolge konvertiert wie die Schlüssel im Array.

Leerzeichen: Optional werden dem Text Einrückungen, Leerzeichen und Zeilenumbrüche hinzugefügt. Wenn Leerzeichen eine Zahl ist, wird der Rückgabewerttext auf jeder Ebene um die angegebene Anzahl von Leerzeichen eingerückt um 10 Leerzeichen. Leerzeichen können auch Nichtzahlen verwenden, wie zum Beispiel: t.

Rückgabewert:

Gibt eine Zeichenfolge zurück, die JSON-Text enthält.

Beispielbeschreibung

Hinweis: Die folgenden Ausgabeergebnisse sind alle vom String-Typ. Um die Lesbarkeit zu erleichtern, werden einfache Anführungszeichen '' nicht verwendet, um anzuzeigen, dass es sich um String-Typen handelt

1. Es gibt nur einen Parameter. Der Parameter ist Objekt:

var students = new Array();
students[0] = "pika";
students[1] = "hello";
students[2] = "hey";
var json = JSON.stringify(students);
alert(json);

Von hier aus können Sie anhand des Vergleichs die Rolle von JSON.stringify() intuitiver erkennen.

Sehen Sie sich andere Beispiele an:

["pika","hello","hey"]

Anhand dieser Beispiele können Sie erkennen, dass boolesche Werte, Zahlen und Zeichenfolgenobjekte verpackt werden werden während des Serialisierungsprozesses automatisch in die entsprechenden Originalwerte umgewandelt. Schauen Sie noch einmal. Andere Beispiele:

pika,hello,hey
Sie erscheinen im Attributwert eines Nicht-Array-Objekts) oder werden in Null konvertiert (wenn sie im Eigenschaftswert eines Nicht-Array-Objekts erscheinen) Wenn im Array)

Sehen Sie sich das letzte Beispiel an

JSON.stringify({});                        // 输出结果:{}
JSON.stringify(true);                      // 输出结果:true
JSON.stringify("foo");                     // 输出结果:"foo"
JSON.stringify([1, "false", false]);       // 输出结果:[1,"false",false]
JSON.stringify({ x: 5 });                  // 输出结果:{"x":5}

JSON.stringify({x: 5, y: 6});              
//输出结果:{"x":5,"y":6}

JSON.stringify([new Number(1), new String("false"), new Boolean(false)]); 
//输出结果:[1,"false",false]

Wie Sie können siehe Beispiel: Nicht aufzählbare Attribute werden ignoriert

2 Es gibt zwei Parameter, der zweite Parameter ist eine Funktion

Funktionsbeispiel:

JSON.stringify({x: undefined, y: Object, z: Symbol("")}); 
// 输出结果:{}

JSON.stringify([undefined, Object, Symbol("")]);          
// 输出结果:[null,null,null]'

JSON.stringify({[Symbol("foo")]: "foo"});                 
// 输出结果:{}

JSON.stringify({[Symbol.for("foo")]: "foo"}, [Symbol.for("foo")]);
// 输出结果:{}

JSON.stringify(
    {[Symbol.for("foo")]: "foo"}, 
    function (k, v) {
        if (typeof k === "symbol"){
            return "a symbol";
        }
    }
);
//输出结果:undefined

Sie können sehen, dass es einen Schlüsselwert und einen Wertwert gibt Erinnern Sie sich an den zweiten Parameter, der eingangs als Schlüsselwert erwähnt wurde?

Beispiel:

JSON.stringify( 
    Object.create(
        null, 
        { 
            x: { value: 'x', enumerable: false }, 
            y: { value: 'y', enumerable: true } 
        }
    )
);

besteht darin, den ersten Wert zur zugehörigen Verarbeitung an die Funktion zu übergeben

2. Es gibt zwei Parameter, der zweite Parameter ist ein Array

Der erste Parameter ist ein Array

 function replacer(key, value) {
  if (typeof value === "string") {
    return undefined;
  }
  return value;
}

Das Ergebnis ist Nur der erste Wert wird serialisiert, der zweite wird ignoriert. Der erste Parameter ist ein Objekt. , also Das Attribut „Alter“ des Schülerobjekts wird nicht angezeigt am Beispiel direkt. Hinweis Es dürfen nur maximal 10 Einrückungen oder Zeichen vorhanden sein , die Ausgabe ist ein String-Typ. Sie können die Serialisierung und das Format der Ausgabeergebnisse entsprechend Ihren eigenen Anforderungen anpassen.

Weitere Programmierkenntnisse finden Sie unter:

Programmieren lernen

! !

Das obige ist der detaillierte Inhalt vonWas macht json.stringify()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn