Fiquei confuso sobre quando usar esses dois métodos de análise.
Depois de ecoar meus dados json_encoded e recuperá-los via ajax, geralmente fico confuso sobre quando devo usar JSON.stringify e JSON.parse .
Eu entro [object,object]
no meu console.log quando analisado e um objeto JavaScript quando codificado.
$.ajax({
url: "demo_test.txt",
success: function(data) {
console.log(JSON.stringify(data))
/* OR */
console.log(JSON.parse(data))
//this is what I am unsure about?
}
});
javascript
json
HIRA THAKUR
fonte
fonte
json.stringify(json.parse(data))
.Respostas:
JSON.stringify
transforma um objeto JavaScript em texto JSON e armazena esse texto JSON em uma string, por exemplo:JSON.parse
transforma uma sequência de texto JSON em um objeto JavaScript, por exemplo:fonte
JSON.parse()
é para "analisar" algo que foi recebido como JSON.JSON.stringify()
é criar uma sequência JSON de um objeto / matriz.fonte
JSON.stringify(3)
Eles são o inverso um do outro.
JSON.stringify()
serializa um objeto JS em uma string JSON, enquantoJSON.parse()
desserializa uma string JSON em um objeto JS.fonte
Eles são os opostos um do outro.
JSON.stringify ()
JSON.stringify () serializa um objeto ou valor JS em uma sequência JSON.
JSON.parse ()
O método JSON.parse () analisa uma sequência como JSON, opcionalmente, transformando o valor produzido.
fonte
parse()
seriaobjectify()
oujsonify()
.jsonify()
seria ambígua e enganosa, uma vezparse()
que não converter umString
a umJSON
tipo (que é o quejsonify()
faria indica), masparse()
converte um JSON-formatadoString
para qualquer um:Object
,Array
,Number
,String
,Boolean
ounull
. As pessoas frequentemente confundem JSON "representação de string" eObject
(oudict
em Python, etc.).Em primeiro lugar, a
JSON.stringify()
função converte um valor JavaScript em uma string JavaScript Object Notation (JSON).JSON.parse()
A função converte uma sequência JavaScript Object Notation (JSON) em um objeto. Para mais informações sobre essas duas funções, consulte os seguintes links.https://msdn.microsoft.com/library/cc836459(v=vs.94).aspx https://msdn.microsoft.com/library/cc836466(v=vs.94).aspx
Em segundo lugar, o exemplo a seguir será útil para você entender essas duas funções.
fonte
// A saída será:
// Para o 1st Console é uma String Like:
// Para o 2nd Console é um objeto como:
fonte
JSON.stringify()
Converte um objeto em uma sequência.JSON.parse()
Converte uma string JSON em um objeto.fonte
A verdadeira confusão aqui não é sobre análise versus stringify, é sobre o tipo de dados do
data
parâmetro do retorno de chamada bem-sucedido.data
pode ser a resposta bruta, ou seja, uma string ou um objeto JavaScript, conforme a documentação:E o dataType usa como padrão uma configuração de 'palpite inteligente'
fonte
Objeto JavaScript <-> String JSON
JSON.stringify (obj) - Pega qualquer objeto serializável e retorna a representação JSON como uma sequência.
JSON.parse (string) - pega uma string JSON bem formada e retorna o objeto JavaScript correspondente.
Explicação: JSON.stringify (obj [, substituto [, espaço]]);
Substituidor / Espaço - opcional ou assume um valor inteiro ou você pode chamar a função de retorno do tipo interger.
fonte
Eles são o completo oposto um do outro.
JSON.parse()
é usado para analisar dados que foram recebidos como JSON ; ele desserializa uma string JSON em um objeto JavaScript .JSON.stringify()
por outro lado, é usado para criar uma string JSON a partir de um objeto ou matriz ; que serializa um objeto JavaScript em uma string JSON .fonte
Não sei se isso foi mencionado, mas um dos usos do JSON.parse (JSON.stringify (myObject)) é criar um clone do objeto original.
Isso é útil quando você deseja mexer com alguns dados sem afetar o objeto original. Provavelmente não é o caminho mais limpo / rápido, mas certamente o mais simples para objetos que não são massivamente complexos.
fonte
JSON.stringify(obj [, replacer [, space]])
- Pega qualquer objeto serializável e retorna a representação JSON como uma sequência.JSON.parse(string)
- Pega uma sequência JSON bem formada e retorna o objeto JavaScript correspondente.fonte
Eles estão se opondo.
JSON.Stringify()
converte JSON em string eJSON.Parse()
analisa uma string em JSON.fonte
JSON: É usado principalmente para trocar dados de / para o servidor. Antes de enviar o objeto JSON para o servidor, ele deve ser uma sequência.
Também converte a matriz Javascript em string
Quando recebemos os dados JSON do servidor, os dados teriam o formato de sequência. Conseqüentemente, convertemos a sequência em objeto JSON.
fonte
JSON.parse()
é usado para converter String em objeto.JSON.stringify()
é usado para converter Objeto em String.Você pode consultar isso também ...
fonte
JSON.parse () pega uma string JSON e a transforma em um objeto JavaScript.
JSON.stringify () pega um objeto JavaScript e o transforma em uma string JSON.
E embora os métodos sejam geralmente usados em objetos, eles também podem ser usados em matrizes:fonte