Converter o objecto JS para o texto JSON

se defini um objecto em JS com:

var j={"name":"binchen"};
Como posso converter o objecto ao JSON? O texto de saída deve ser:

'{"name":"binchen"}'
Author: KARTHIKEYAN.A, 2010-11-12

26 answers

Todos os navegadores actuais têm suporte JSON nativo incorporado. Desde que não estejas a lidar com navegadores pré-históricos como o IE6/7, podes fazê-lo tão facilmente como isso.

var j={"name":"binchen"};
JSON.stringify(j); // '{"name":"binchen"}'
 1643
Author: Andris, 2017-04-15 19:08:37

Com JSON.stringify()encontrado em json2.js ou nativo na maioria dos navegadores modernos.

   JSON.stringify(value, replacer, space)
        value       any JavaScript value, usually an object or array.

       replacer    an optional parameter that determines how object
                    values are stringified for objects. It can be a
                    function or an array of strings.

       space       an optional parameter that specifies the indentation
                    of nested structures. If it is omitted, the text will
                    be packed without extra whitespace. If it is a number,
                    it will specify the number of spaces to indent at each
                    level. If it is a string (such as '\t' or ' '),
                    it contains the characters used to indent at each level.

       This method produces a JSON text from a JavaScript value.
 93
Author: Ignacio Vazquez-Abrams, 2014-11-13 18:06:47

Confira updated/better way:

Actualização de 17 de Maio de 2008: desinfectante pequeno adicionado ao método toObject. Agora toObject () will not eval () the string se encontrar algum código malicioso em ele.Para mais segurança: não definir as acusações de inclusão são verdadeiras.

Douglas Crockford, pai do conceito JSON, escreveu um dos primeiros stringificadores para JavaScript. Mais tarde Steve Yen no Trim Path escreveu uma versão melhorada agradável que eu usei por algum tempo. São as minhas mudanças na versão do Steve que gostaria de partilhar contigo. Basicamente, derivaram do meu desejo de fazer o stringifier.
• handle and restore cyclical references  
• include the JavaScript code for functions/methods (as an option)  
• exclude object members from Object.prototype if needed.
 25
Author: Sarfraz, 2010-11-12 08:26:33

Pode usar JSON.stringify () método para converter objecto JSON para cadeia de caracteres.

var j={"name":"binchen"};
JSON.stringify(j)

Para o processo inverso, pode utilizar JSON.parse () método para converter a cadeia de caracteres JSON para o objecto JSON.

 15
Author: Aravind Sachin, 2015-11-20 10:05:55

Json Stringify pode converter o seu objecto js para json

 var x = {"name" : "name1"};
 JSON.stringify(x);
 13
Author: Aatif Bandey, 2015-11-03 12:01:00
JSON.stringify({"key":"value"});
 9
Author: Om Prakash, 2015-06-25 14:38:08

Se está a usar AngularJS, o filtro' json ' deve fazê-lo:

<span>{{someObject | json}}</span>
 7
Author: Ariel Cabib, 2015-09-11 05:38:45

Em angularJS

angular.toJson(obj, pretty);

Obj: Entrada a ser serializada no JSON.

Bonito (opcional):
Se configurado como true, o resultado do JSON irá conter linhas novas e espaços em branco. Se configurado para um inteiro, a saída JSON conterá que muitos espaços por indentação.

(por omissão: 2)

 7
Author: Nazrul Islam, 2016-05-17 08:42:18

JSON.stringify transforma um objeto Javascript em texto JSON e armazena esse texto JSON em uma string.

A conversão é um objecto para cadeia de caracteres

JSON.parse transforma uma cadeia de texto JSON em um objeto Javascript.

A conversão é uma sequência para objecto

var j={"name":"binchen"};

Para torná-lo uma cadeia de caracteres JSON pode ser usado.

JSON.stringify({"key":"value"});

JSON.stringify({"name":"binchen"});

Para mais informações, poderá consultar esta ligação abaixo.

Https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

 6
Author: Dulith De Costa, 2017-02-13 13:15:38

JSON.stringify(j,null,4) dar-lhe-ia JSON embelezado no caso de precisar de embelezamento também.

 5
Author: Vignesh Murugan, 2016-11-15 14:21:42
var someObj = { "name" : "some name" };
var someObjStr = JSON.stringify(someObj);
console.log( someObjStr  );
 4
Author: Tyler Durden, 2016-06-29 07:36:31
Estava a ter problemas com o stringify a ficar sem memória e outras soluções não pareciam funcionar (pelo menos não consegui fazê-los funcionar), que foi quando tropecei neste tópico. Graças a Rohit Kumar, Eu apenas atravesso o meu grande objecto JSON para impedir que ele se despenhasse.
var j = MyObject;
var myObjectStringify = "{\"MyObject\":[";
var last = j.length
var count = 0;
for (x in j) {
    MyObjectStringify += JSON.stringify(j[x]);
    count++;
    if (count < last)
        MyObjectStringify += ",";
}
MyObjectStringify += "]}";

O MyObjectStringify dar-lhe-ia o seu texto de representação (tal como mencionado outras vezes neste tópico) excepto se tiver um objecto grande, isto também deve funcionar - apenas certifique-se você constrói-o para se ajustar às suas necessidades - eu precisava dele para ter um nome do que array

 4
Author: Sam, 2017-05-23 11:47:34

Um costume definido para isto, até fazermos algo estranho do método de stringify

var j={"name":"binchen","class":"awesome"};
var dq='"';
var json="{";
var last=Object.keys(j).length;
var count=0;
for(x in j)
{
json += dq+x+dq+":"+dq+j[x]+dq;
count++;
if(count<last)
   json +=",";
}
json+="}";
document.write(json);

Resultado

{"name":"binchen","class":"awesome"}

Vivos http://jsfiddle.net/mailmerohit5/y78zum6v/

 3
Author: Rohit Kumar, 2015-10-12 09:57:45

const obj = { "name":"xxx", "city":"York"};
const myJSON = JSON.stringify(obj);
  console.log(myJSON);
 3
Author: Arvind Audacious, 2017-05-23 12:54:01

Woking... Fácil de usar

$("form").submit(function(evt){
  evt.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvert = JSON.stringify(formData);  // Convert to json
});
Obrigado.
 2
Author: Subroto Biswas, 2016-11-28 03:39:40

Copia e pase

$("form").submit(function(evt){
  evt.preventDefault();
  var formData = $("form").serializeArray(); // Create array of object
  var jsonConvertedData = JSON.stringify(formData);  // Convert to json
});
 2
Author: Subroto Biswas, 2016-11-28 03:42:50

Pode usar a função de stringify nativa assim

const j={ "name": "binchen" }

/** convert json to string */
const jsonString = JSON.stringify(j)

console.log(jsonString) // {"name":"binchen"}
 1
Author: Alongkorn Chetasumon, 2016-10-14 10:37:56

Se quiser obter o valor das propriedades do json no formato de texto use a seguinte forma

var i = {"x":1}

var j = JSON.stringify(i.x);

var k = JSON.stringify(i);

console.log(j);

"1"

console.log(k);

'{"x":1}'
 1
Author: KARTHIKEYAN.A, 2016-11-29 15:10:30

Define objecto

let obj = {
"firstname" : "Hello",
"lastname" : "javascript"

};

Depois converte - o em texto usando este código

strObj= JSON.stringify(obj);

Para ter a certeza que consola o resultado

console.log(strObj);
 1
Author: nada diaa, 2017-10-28 00:08:45

Tudo o que precisas é de adicionar este código abaixo
var j={"name":"binchen"}; JSON.stringify(j); // '{"name":"binchen"}'

 0
Author: ubastosir, 2017-12-22 12:36:35

Para depuração no nó JS você pode usar util.inspeccionar () . Funciona melhor com referências circulares.

var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
 0
Author: Pavel Netesa, 2018-03-02 16:31:07

Podes usar o JSON.função stringify () para fazer isso.

 0
Author: Mitesh Panchal, 2018-03-27 07:07:24

As substituições JSON existentes onde é demais para mim, por isso escrevi a minha própria função. Isto parece funcionar, mas eu poderia ter perdido vários casos de borda (que não ocorrem em meu projeto). E provavelmente não funcionará para quaisquer objetos pré-existentes, apenas para dados feitos por si mesmos.

function simpleJSONstringify(obj) {
    var prop, str, val,
        isArray = obj instanceof Array;

    if (typeof obj !== "object") return false;

    str = isArray ? "[" : "{";

    function quote(str) {
        if (typeof str !== "string") str = str.toString();
        return str.match(/^\".*\"$/) ? str : '"' + str.replace(/"/g, '\\"') + '"'
    }

    for (prop in obj) {
        if (!isArray) {
            // quote property
            str += quote(prop) + ": ";
        }

        // quote value
        val = obj[prop];
        str += typeof val === "object" ? simpleJSONstringify(val) : quote(val);
        str += ", ";
    }

    // Remove last colon, close bracket
    str = str.substr(0, str.length - 2)  + ( isArray ? "]" : "}" );

    return str;
}
 0
Author: Hauke, 2018-05-30 09:40:14
So in order to convert a js object to JSON String: 

A sintaxe simples para converter um objeto para uma string é

JSON.stringify(value)

A sintaxe completa é: JSON.stringify (valor[, substituidor[, espaço]])

Vejamos alguns exemplos simples. Note que toda a cadeia fica aspas duplas e todos os dados na string são escapados se necessario.

JSON.stringify("foo bar"); // ""foo bar""
JSON.stringify(["foo", "bar"]); // "["foo","bar"]"
JSON.stringify({}); // '{}'
JSON.stringify({'foo':true, 'baz':false}); /* " 
{"foo":true,"baz":false}" */



const obj = { "property1":"value1", "property2":"value2"};
const JSON_response = JSON.stringify(obj);
console.log(JSON_response);/*"{ "property1":"value1", 
"property2":"value2"}"*/
 0
Author: Rahul Choudhary, 2018-10-03 05:56:31

O que tu queres é:

var yourObject = {a : "string", b : 2 };
Json.Stringify(yourObject);

De qualquer forma, se quiser uma impressão bonita, deve verificar: Como posso imprimir o JSON usando o JavaScript?

Verifique mais isto para obter informações sobre o JSON stringify / parse.

 -1
Author: Tiago Loureiro, 2018-08-09 15:05:07

Se tens uma corda json e não está embrulhada com [] Então embrulha-a primeiro

var str = '{"city": "Tampa", "state": "Florida"}, {"city": "Charlotte", "state": "North Carolina"}';
str = '[' + str + ']';
var jsonobj = $.parseJSON(str);

Ou

var jsonobj = eval('(' + str + ')');
console.log(jsonobj);
 -19
Author: Bhaumik Mehta, 2014-11-16 06:13:14