Converteer array naar JSON

Ik heb een array var cars = [2,3,..]die een paar gehele getallen bevat.
Ik heb een paar waarden toegevoegd aan de array, maar ik moet nu deze array naar een pagina verzenden via JQuery’s .getmethode. Hoe kan ik het converteren naar een JSON-object voor verzending?


Antwoord 1, Autoriteit 100%

Script voor achterwaartse compatibiliteit:
https://github.com/douglascrockford/json-js/blob/master /json2.js

en bel:

var myJsonString = JSON.stringify(yourArray);

Opmerking: Het JSON-object maakt nu deel uit van de meeste moderne webbrowsers (dwz 8 & amp; hierboven). Zie caniuse voor volledige lijst. Er gaat naar: @spudley voor zijn opmerking onder


Antwoord 2, Autoriteit 10%

Ik heb het op die manier gemaakt:

Als ik heb:

var jsonArg1 = new Object();
    jsonArg1.name = 'calc this';
    jsonArg1.value = 3.1415;
var jsonArg2 = new Object();
    jsonArg2.name = 'calc this again';
    jsonArg2.value = 2.73;
var pluginArrayArg = new Array();
    pluginArrayArg.push(jsonArg1);
    pluginArrayArg.push(jsonArg2);

Om PluginArrayarg te converteren (wat Pure JavaScript-array is) in JSON-array:

var jsonArray = JSON.parse(JSON.stringify(pluginArrayArg))

Antwoord 3, Autoriteit 7%

WOW, lijkt erop dat het tegenwoordig een stuk eenvoudiger heeft … 3 manieren waarop u het kunt doen:

json = { ...array };
json = Object.assign({}, array);
json = array.reduce((json, value, key) => { json[key] = value; return json; }, {});

Antwoord 4, Autoriteit 2%

Ik besloot om de JSON2-bibliotheek te gebruiken en ik heb een fout opgetreden over “Cyclic Data Structures”.

Ik heb het opgelost door JSON2 te vertellen hoe ik mijn complexe object kan converteren. Het werkt niet alleen, maar ik heb ook alleen de velden opgenomen die ik nodig heb. Hier is hoe ik het deed:

OBJ.prototype.toJSON = function (key) {
       var returnObj = new Object();
       returnObj.devid = this.devid;
       returnObj.name = this.name;
       returnObj.speed = this.speed;
       returnObj.status = this.status;
       return returnObj;
   }

Antwoord 5, Autoriteit 2%

of probeer de array als een object te definiëren. (VAR-auto’s = {};) Dan is het niet nodig om naar JSON te converteren. Dit is misschien niet praktisch in uw voorbeeld, maar werkte goed voor mij.


Antwoord 6

Omdat mijn array eronder was:
en ik gebruikte. Push-functie om het dynamisch te maken

my_array = ["234", "23423"];

De enige manier waarop ik mijn array omgezet in JSON is

json = Object.assign({}, my_array);

Antwoord 7

Een andere manier kan dit zijn:

       var json_arr = {};
        json_arr["name1"] = "value1";
        json_arr["name2"] = "value2";
        json_arr["name3"] = "value3";
        var json_string = JSON.stringify(json_arr);

Antwoord 8

Als u slechts 1 object hebt zoals degene die u heeft gesteld, werkt het volgende.

var x = [{'a':'b'}];
var b= JSON.stringify(x);
var c = b.substring(1,b.length-1);
JSON.parse(c); 

Antwoord 9

Kortste

Gebruik om een geldige json te genereren uit een array van gehele getallen

let json = `[${cars}]`

gebruik voor meer algemene arrays JSON.stringify(cars) (gebruik ditvoor objecten met circulaire verwijzingen)


Antwoord 10

Met de array van je auto’s: var auto’s = [2,3,..]. Je kunt een for-lus op deze manier gebruiken

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

Other episodes