Respostas:
Todos os navegadores atuais têm suporte JSON nativo embutido. Desde que você não esteja lidando com navegadores pré-históricos como o IE6 / 7, você pode fazê-lo com a mesma facilidade:
var j = {
"name": "binchen"
};
console.log(JSON.stringify(j));
JSON.stringify(j);
a obra
var formattedJSON = JSON.stringify(j, null, 2);
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.
replacer
é opcional, então se você quiser ainda usar o space
arg você colocar null
para replacer
. Se você estiver interessado em usar esta função para impressão bastante Eu encontrei esta resposta também ser útil: stackoverflow.com/a/7220510/857209
Confira a maneira atualizada / melhor de Thomas Frank:
Atualização 17 de maio de 2008: Desinfetante pequeno adicionado ao método toObject. Agora, toObject () não avaliará () a cadeia de caracteres se encontrar algum código malicioso. Para ainda mais segurança: não defina o sinalizador includeFunctions como true.
Douglas Crockford, pai do conceito JSON, escreveu um dos primeiros stringers para JavaScript. Mais tarde, Steve Yen, da Trim Path, escreveu uma boa versão melhorada, que eu uso há algum tempo. São minhas alterações na versão de Steve que eu gostaria de compartilhar com você. Basicamente, eles se originaram do meu desejo de fazer o stringifier:
- manipular e restaurar referências cíclicas
- inclua o código JavaScript para funções / métodos (como opção)
- excluir membros do objeto de Object.prototype, se necessário.
Você pode usar o método JSON.stringify () para converter o objeto JSON em String.
var j={"name":"binchen"};
JSON.stringify(j)
Para o processo reverso, você pode usar o método JSON.parse () para converter JSON String em JSON Object.
Em angularJS
angular.toJson(obj, pretty);
obj: Entrada a ser serializada em JSON.
pretty (opcional):
se configurada como true, a saída JSON conterá novas linhas e espaços em branco. Se definido como um número inteiro, a saída JSON conterá muitos espaços por recuo.
(padrão: 2)
JSON.stringify(j, null, 4)
daria a você JSON embelezado, caso você precise de embelezamento também
O segundo parâmetro é substituto. Ele pode ser usado como filtro, onde é possível filtrar determinados valores de chave ao fazer uma string. Se definido como nulo, ele retornará todos os pares de valores-chave
Se você estiver usando o AngularJS, o filtro 'json' deve fazer isso:
<span>{{someObject | json}}</span>
JSON.stringify
transforma um objeto Javascript em texto JSON e armazena esse texto JSON em uma sequência.
A conversão é um Objeto para String
JSON.parse
transforma uma sequência de texto JSON em um objeto Javascript.
A conversão é uma String para Objeto
var j={"name":"binchen"};
para torná-lo uma sequência JSON String poderia ser usada.
JSON.stringify({"key":"value"});
JSON.stringify({"name":"binchen"});
Para mais informações, consulte este link abaixo.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
Um costume definido para isso, até que façamos um método estranho do 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"}
Eu estava tendo problemas com o stringify ficando sem memória e outras soluções não pareciam funcionar (pelo menos eu não conseguia fazê-las funcionar), que foi quando eu tropecei nesse segmento. Graças a Rohit Kumar, eu apenas percorro meu objeto JSON muito grande para impedir que ele caia
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 += "]}";
MyObjectStringify daria sua representação de string (como mencionado outras vezes neste segmento), exceto se você tiver um objeto grande, isso também funcionará - apenas certifique-se de construí-lo para atender às suas necessidades - eu precisava que ele tivesse um nome que array
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
você pode usar a função stringify nativa como esta
const j={ "name": "binchen" }
/** convert json to string */
const jsonString = JSON.stringify(j)
console.log(jsonString) // {"name":"binchen"}
se você deseja obter o valor das propriedades json no formato de string, use o seguinte caminho
var i = {"x":1}
var j = JSON.stringify(i.x);
var k = JSON.stringify(i);
console.log(j);
"1"
console.log(k);
'{"x":1}'
Para depuração no Nó JS, você pode usar util.inspect () . Funciona melhor com referências circulares.
var util = require('util');
var j = {name: "binchen"};
console.log(util.inspect(j));
As substituições JSON existentes eram demais para mim, então escrevi minha própria função. Isso parece funcionar, mas eu posso ter perdido vários casos extremos (que não ocorrem no meu projeto). E provavelmente não funcionará para objetos preexistentes, apenas para dados criados por eles 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;
}
So in order to convert a js object to JSON String:
A sintaxe simples para converter um objeto em uma string é
JSON.stringify(value)
A sintaxe completa é: JSON.stringify (valor [, substituto [, espaço]])
Vamos ver alguns exemplos simples. Observe que a cadeia inteira recebe aspas duplas e todos os dados da cadeia escapam, se necessário.
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"}"*/
Basta usar JSON.stringify
para fazer essa conversão - no entanto, lembre-se de que os campos que têm undefined
valor não serão incluídos no json
var j={"name":"binchen", "remember":undefined, "age": null };
var s=JSON.stringify(j);
console.log(s);
O campo remember
'desaparecer' da saída json
Você pode usar o método JSON.stringify () para converter o objeto JSON em String.
var j={"name":"hello world"};
JSON.stringify(j);
Para converter essa sequência novamente no objeto json, você pode usar o método JSON.parse ().
usar JSON.stringify(param1, param2, param3);
O que é: -
param1 -> valor para converter para JSON
param2 -> função para restringir à sua maneira. Como alternativa, ele serve como uma lista branca para a qual os objetos precisam ser incluídos no JSON final.
param3 -> Um tipo de dados Number que indica o número de espaços em branco a serem adicionados. O máximo permitido é 10.
converter str => obj
const onePlusStr = '[{"brand": "oneplus"}, {"model": "7T"}]';
const onePLusObj = JSON.parse (onePlusStr);
converter obj => str
const onePLusObjToStr = JSON.stringify (onePlusStr);
Referências de análise JSON em JS:
JSON.parse (): clique em
JSON.stringify (): clique em
Use a função stringify
var j = {
"name":"binchen"
};
var j_json = JSON.stringify(j);
console.log("j in json object format :", j_json);
Feliz codificação !!!
//use JSON.stringify({})
const stringified = JSON.stringify ({}) // passa o objeto que você deseja converter no formato de string
se você tem uma string json e não está envolvida com [], envolva-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);
JSON.stringify()
é o método que você está procurando.