Detallado JSON.stringify y JSON.parse

JSON.stringify ()

MDN: método JSON.stringify () para un valor JavaScript (objeto o matriz) se convierte en una cadena JSON, si sustituto especificada es una función que puede ser sustituido de forma selectiva o si el sustituto especificado es una matriz, puede ser opcionalmente una matriz que contiene solamente los atributos especificados.

gramática

// []表示可选参数
JSON.stringify(value[, replacer [, space]])
  • value: Para una secuencia en un JSONvalor de cadena
  • replacer: Si el parámetro es una función, entonces el proceso de serialización, por cada uno de los valores de atributo se serializado después de la conversión y procesamiento de la función, si el parámetro es una matriz, esta matriz que contiene sólo el nombre del atributo Sólo en el último número de serie JSONde cuerda; si el parámetro es nulo o no se proporciona, se pueden serializar todos los atributos del objeto
  • space: Especificar una muesca cadena en blanco, el usuario embellecer la salida pretty-print; si el argumento es un número que representa la cantidad de espacio que hay; límite superior de 10. Si este valor es inferior a 1, significa que no hay espacios; Si el parámetro es una cadena, la cadena será como el espacio; si no se proporciona este parámetro, no habrá espacios

El valor de retorno

Representa un valor dado JSONcuerda

descripción

  • Paquete de tipo booleano, números, las cadenas se convierte automáticamente en el proceso correspondiente en la secuencia del valor original
console.log(
  JSON.stringify({
    flag: new Boolean(false),
    num: new Number(0),
    str: new String('false'),
  }),
);
// 输出 {"flag":false,"num":0,"str":"false"}
  • undefined, Y la función arbitrarias symbolvalores, se ignorarán la secuencia del proceso de
console.log(JSON.stringify({ und: undefined, obj: Object }));
// 输出 {}

parámetros sustitutos

parámetro sustituto puede ser una matriz o una función. Como una función, que tiene dos parámetros, clave y el valor, que serán serializados.

const jsonString = JSON.stringify(
  { name: 'jack', age: 21, gender: 'male' },
  function(key,value){
    return value
  },
  2,
);
console.log(jsonString)
// 输出 
//{
//  "name": "jack",
//  "age": 21,
//  "gender": "male"
//}

parámetros espaciales

parámetros para controlar el espacio dentro de la separación cadena resultante. Si se trata de un número, una cadena de en cada nivel de sangría en un nivel más de ese número de espacios, y si es una cadena, cada nivel será más que en el guión anterior, el nivel de cadena

console.log(JSON.stringify({ name: 'jack' }, null, 2));
// {
//   "name": "jack"
// }

JSON.parse ()

MDN: Método JSON.parse () se utiliza para resolver el valor de la cadena JavaScript o JSON, configurado por una cadena de caracteres describe. Opcional antes de regresar a la función resucitador de llevar a cabo un objeto transformar obtenida

gramática

JSON.parse(text[, reviver])
  • text: Para ser analizado en JavaScriptun valor de cadena
  • reviver: Convertidor, si el parámetro pasado se puede utilizar para modificar la resolución de valor original generada, el momento de la llamada parseantes de que la función devuelve

El valor de retorno

objectEste tipo corresponde a la propuesta jsonde texto objeto / valor

console.log(JSON.parse('{}'));
console.log(JSON.parse('{"name": "jack"}'))
const obj = JSON.parse('{"name": "jack"}')
console.log(obj.name);
// 输出
// {}
// { name: 'jack' }
// jack

función resucitador

Si se especifica reviveruna función, JavaScript es analizada valor pasará por delante será devuelto al final de una conversión

const obj = JSON.parse('{"name": "jack"}',function(key,value){
  if(key === '') {
    return value
  }      
  return 'change-'+value
})
console.log(obj.name); //change-jack
Publicado 17 artículos originales · ganado elogios 0 · Vistas 392

Supongo que te gusta

Origin blog.csdn.net/k19970320j/article/details/104602237
Recomendado
Clasificación