Maison > interface Web > js tutoriel > Comment joliment imprimer du JSON en JavaScript ?

Comment joliment imprimer du JSON en JavaScript ?

Patricia Arquette
Libérer: 2024-12-14 04:35:09
original
295 Les gens l'ont consulté

How to Pretty-Print JSON in JavaScript?

Pretty-Print JSON à l'aide de JavaScript

La conversion des données JSON dans un format lisible par l'homme est cruciale pour le débogage et la compréhension de sa structure. En JavaScript, le JSON « pretty-printing » est supporté nativement via la méthode JSON.stringify().

Native Pretty-Printing

La fonction JSON.stringify() prend trois arguments : l'objet JSON à convertir, une fonction de remplacement (facultatif) et le niveau d'espacement (facultatif). Pour spécifier l'espacement, transmettez un entier positif comme troisième argument. Par exemple :

var obj = { foo: 'bar', baz: [1, 2, 3] };
var json = JSON.stringify(obj, null, 2);
Copier après la connexion

Cela produira :

"{
  "foo": "bar",
  "baz": [
    1,
    2,
    3
  ]
}"
Copier après la connexion

Mise en surbrillance de la syntaxe

Pour plus de clarté visuelle, vous pouvez utiliser des expressions régulières pour appliquer la coloration syntaxique à la chaîne JSON. Par exemple :

function syntaxHighlight(json) {
  // Escape HTML characters
  json = json.replace(/&/g, '&amp;').replace(/</g, '<').replace(/>/g, '>');
  
  // Highlight different types using span tags
  return json.replace(/("(\u[a-zA-Z0-9]{4}|\[^u]|[^\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
    var cls = 'number';
    if (/^"/.test(match)) {
      if (/:$/.test(match)) cls = 'key';
      else cls = 'string';
    } else if (/true|false/.test(match)) cls = 'boolean';
    else if (/null/.test(match)) cls = 'null';
    return `<span class="${cls}">${match}</span>`;
  });
}
Copier après la connexion

Cette fonction remplacera les éléments clés par des couleurs et des styles différents pour rendre la structure JSON plus lisible.

Exemple

Voici un exemple qui combine une jolie impression native et une coloration syntaxique :

// Pretty-print the JSON object
var json = JSON.stringify(obj, null, 2);

// Highlight the JSON string
var highlighted = syntaxHighlight(json);

// Display the highlighted JSON string in the browser console
console.log(highlighted);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal