471 Stimmen

Array in JSON umwandeln

Ich habe ein Array var cars = [2,3,..] die ein paar ganze Zahlen enthält. Ich habe ein paar Werte zu dem Array hinzugefügt, aber ich muss jetzt dieses Array an eine Seite über jQuery's senden .get Methode. Wie kann ich es in ein JSON-Objekt umwandeln, um es zu versenden?

0 Stimmen

J

0 Stimmen

I

0 Stimmen

s

2voto

Daniel J. Punkte 288

Sie können ein Array mit der Funktion Object.assign in JSON konvertieren. Das Hauptproblem, auf das ich dabei stoße, ist, dass Javascript-Arrays einen nullbasierten Integer-Schlüssel haben, der wiederum den Zugriff auf die Daten im Array ermöglicht.

let fruits = ['Apple', 'Banana']
document.write(fruits[0])

Rückgabe:

Apfel

Wenn Sie das Array in JSON konvertieren, erhalten Sie

{"0": "Apple", "1: "Banana"}

JSON-Objekte hingegen enthalten in der Regel beliebige Schlüssel, wie z. B.:

{ "irgendein_Schlüssel": "irgendein Wert", "anderer_Schlüssel": "some other value" }

Glücklicherweise können Sie eine Liste von Elementen erstellen, die ziemlich genau wie ein Array funktioniert, und dann Object.assign verwenden, als ob es ein Array wäre, und dann die Ausgabe in ein JSON-Objekt konvertieren

var items = {};
items["some_key"]="some value";
items["other_key"]="some other value";
const jsonString = JSON.stringify(Object.assign({}, items)) 
const json_obj = JSON.parse(jsonString);

Der Vorteil der Arbeit mit Artikellisten ist, dass Sie nicht mit den JSON-Daten als String oder Anführungszeichen, Kommas usw. umgehen müssen. Sie können stattdessen einfach das Item-Objekt verwalten, indem Sie Daten einfügen oder entfernen. Wenn Sie fertig sind, konvertieren Sie einfach die Item-Variable in ein JSON-Objekt und tun, was immer Sie damit tun müssen.

0voto

Tuan Le Anh Punkte 89

Mit Ihrem Autos-Array: var cars = [2,3, ]. Sie können die for-Schleife wie folgt verwenden

    var carArray = new Array();  

    for(var c in cars) {
      var jsonObj = new Object();
      jsonObj.car_id = cars[c];
      carArray.push(jsonObj);
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X