javascript mdn Converter matriz para JSON




json stringify mdn (6)

Eu fiz assim:

se eu tiver:

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);

para converter pluginArrayArg (que é puro array javascript) na matriz JSON:

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

Eu tenho uma matriz ( var cars = [] ) que contém alguns inteiros. Eu adicionei alguns valores ao array, mas agora preciso enviar este array para uma página através do método .get do jQuery. Como posso convertê-lo em um objeto JSON para envio?


Ou tente definir o array como um objeto. (var cars = {};) Então não há necessidade de converter para json. Isso pode não ser prático em seu exemplo, mas funcionou bem para mim.


Uau, parece que ficou muito mais fácil hoje em dia ... 3 maneiras de fazer isso:

json = { ...array };

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

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

Eu decidi usar a biblioteca json2 e recebi um erro sobre "estruturas de dados cíclicas".

Eu consegui resolver isso dizendo ao json2 como converter meu objeto complexo. Não só funciona agora, mas também incluí apenas os campos que preciso. Aqui está como eu fiz:

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;
   }

Uma outra maneira poderia ser esta:

        var json_arr = {};
        json_arr["name1"] = "value1";
        json_arr["name2"] = "value2";
        json_arr["name3"] = "value3";

        var json_string = JSON.stringify(json_arr);

Se você tiver apenas 1 objeto como o que você pediu, o seguinte irá funcionar.

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






arrays