Conversion de JSON en CSV en JavaScript et stockage dans une variable
Pour convertir des données JSON au format CSV en JavaScript et les stocker dans une variable, suivez ces étapes :
Analysez les données JSON : Utilisez la méthode JSON.parse() pour convertir la chaîne JSON en un objet JavaScript.
<code class="javascript">var json3 = JSON.parse(json_data);</code>
Convertir les objets imbriqués en tableau : Si les données JSON contiennent des objets imbriqués, utilisez la méthode map() pour les convertir en tableau.
<code class="javascript">var items = json3.items.map(function(item) { return item; });</code>
Extraire les noms de champs : Obtenez la liste des noms de champs en accédant aux clés du premier élément du tableau.
<code class="javascript">var fields = Object.keys(items[0]);</code>
Créer un en-tête CSV : Joignez les noms de champs avec un séparateur (par exemple, ",") pour créer l'en-tête CSV.
<code class="javascript">var header = fields.join(',');</code>
Convertir Objets en lignes CSV : Parcourez le tableau d'éléments et convertissez chaque élément en ligne CSV.
<code class="javascript">var rows = items.map(function(item) { return fields.map(function(field) { return item[field] ? '"' + item[field] + '"' : ''; }).join(','); });</code>
Rejoignez l'en-tête et les lignes : Combinez les En-tête et lignes CSV dans une seule chaîne.
<code class="javascript">var csv = header + '\n' + rows.join('\n');</code>
Stocker dans une variable : Attribuez la chaîne CSV générée à une variable.
<code class="javascript">var csv_data = csv;</code>
Pour gérer les caractères d'échappement comme 'u2019', utilisez la méthode String.replace() avec une expression régulière pour les remplacer par leurs caractères correspondants.
<code class="javascript">var unescaped_csv = csv_data.replace(/\u2019/g, "'");</code>
Cela convertira le le caractère d'échappement revient à un caractère d'apostrophe normal.
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!