Convertir des lignes en tableau JSON avec échappement
Collez cinq lignes, dont un chemin Windows et une phrase avec des guillemets, et obtenez un tableau valide de 5 valeurs : C:\data\file.txt sort sous la forme "C:\\data\\file.txt", sans rien à réparer à la main. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- alpha A quoted "value" C:\data\file.txt last
- Valeurs
- alpha, A quoted "value", C:\data\file.txt, , last
- Nombre de lignes
- 5
Il accepte les fins de ligne Unix, Windows et Mac classique, conserve les espaces et maintient les lignes vides intentionnelles. Un unique saut final marque simplement la fin naturelle du texte et ne crée pas un élément vide supplémentaire.
Collez une valeur textuelle par ligne
Commencez par un texte ordinaire où chaque ligne représente une valeur. Une liste de courses, des indicateurs de fonctionnalités, des noms de fichiers copiés d’un terminal, des libellés de tableur ou des identifiants reçus par courrier électronique conviennent parfaitement. Le convertisseur ne découpe ni aux virgules, ni aux points-virgules, ni aux espaces : la ponctuation interne reste donc incluse.
Il ne supprime pas non plus les espaces placés au début ou à la fin, car ils peuvent compter dans des tests, des données à largeur fixe ou des libellés exacts. Les séparateurs LF, CRLF et CR produisent le même résultat. Les lignes vides internes deviennent des chaînes vides.
Si le texte se termine par un saut de ligne, ce dernier séparateur est ignoré afin d’éviter un élément vide inattendu. Vous devez fournir au moins un caractère ; une entrée totalement vide est refusée plutôt que transformée silencieusement en valeur fictive.
Laissez l'échappement protéger vos données
Cette différence devient essentielle avec un guillemet double, une barre oblique inverse, une tabulation ou un caractère de contrôle. Le texte Unicode reste lisible : noms, accents, emoji et autres écritures n’exigent aucune substitution improvisée. Sans service externe et avec un traitement déterministe, une entrée identique produit toujours exactement la même sortie.
Vérifiez les limites avant utilisation
Relisez le résultat lorsque la source vient d’un tableur, d’un terminal ou d’un éditeur, car cet outil conserve le contenu au lieu de deviner l’intention. Des espaces apparemment anodins peuvent produire des chaînes distinctes, et une ligne vide interne devient volontairement une chaîne vide. À l’inverse, un saut final ne fait que terminer le document.
Cette règle stable évite tout changement accidentel de type.
Cas d’usage
Créer une liste de configuration
Collez environnements, indicateurs ou valeurs autorisées et obtenez un tableau valide pour votre configuration.
Produire des jeux de test fiables
Transformez fichiers, libellés et cas limites en données déterministes sans perdre les espaces ni les vides utiles.
Questions fréquentes
Quel est le tarif ?
La version du navigateur s’exécute localement et gratuitement.
Que deviennent les lignes vides ?
Les lignes vides internes deviennent des chaînes vides. Un saut final est ignoré afin de ne pas ajouter de valeur fantôme.
Les espaces de chaque ligne sont-ils supprimés ?
Non. Les espaces initiaux et finaux sont conservés, car ils peuvent appartenir à la valeur voulue.
Que deviennent les guillemets et les barres obliques inverses d'une ligne ?
Ils sont échappés selon les règles standard : un guillemet double reçoit une barre oblique inverse devant, une barre oblique inverse est doublée et les tabulations ou autres caractères de contrôle deviennent des séquences valides. A quoted "value" reste ainsi une seule valeur valide.
Un saut de ligne final ajoute-t-il une valeur vide ?
Non. Un seul saut de ligne final est considéré comme la fin naturelle du texte collé : celui qu'ajoutent souvent les éditeurs ne crée donc pas de valeur vide surprise. Les lignes vides au milieu deviennent, elles, des valeurs vides.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/str/lines-to-json-array \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"alpha\nA quoted \"value\"\nC:\\data\\file.txt"}'const res = await fetch("https://api.kit.forhosting.com/str/lines-to-json-array", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "alpha\nA quoted \"value\"\nC:\\data\\file.txt"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/lines-to-json-array",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "alpha\nA quoted \"value\"\nC:\\data\\file.txt"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/lines-to-json-array", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"alpha\\nA quoted \\"value\\"\\nC:\\\\data\\\\file.txt"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"alpha\nA quoted \"value\"\nC:\\data\\file.txt"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/lines-to-json-array", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "alpha\nA quoted \"value\"\nC:\\data\\file.txt"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.lines_to_json_array",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Transformez une liste collée en tableau JSON valide sans réparer manuellement les guillemets ni les barres obliques inverses. Le convertisseur traite chaque ligne comme une chaîne, applique l’échappement JSON et renvoie le résultat prêt pour le code, les valeurs analysées et leur nombre.
Laissez JSON protéger vos données
Chaque ligne est sérialisée selon les règles standard des chaînes JSON, et non simplement entourée de guillemets après un remplacement sommaire. Les guillemets reçoivent une barre, les barres littérales sont doublées et les contrôles utilisent des séquences JSON valides. Le champ `result` contient un document JSON mis en forme, prêt pour du code source, une configuration, une requête API ou un jeu de test. `values` fournit le même tableau sous forme structurée, évitant aux clients automatisés d’analyser une seconde chaîne. `line_count` facilite les contrôles rapides.
Vérifiez les limites avant utilisation
Pour retirer les espaces, supprimer les entrées vides, dédupliquer, trier ou interpréter nombres et booléens comme primitives JSON, effectuez explicitement ces transformations avant ou après la conversion. Chaque membre produit reste une chaîne : une ligne `42` devient la chaîne `"42"`, pas le nombre 42, tandis que `true` demeure du texte. En automatisation, comparez `line_count` au nombre attendu et utilisez `values` ; pour un copier-coller, prenez directement `result`.
Cas d'intégration
Préparer les données d’une API
Convertissez les identifiants d’un rapport en tableau JSON prêt pour un corps de requête correctement échappé.
Questions techniques
Les nombres et booléens deviennent-ils des primitives JSON ?
Non. Chaque ligne devient une chaîne JSON ; `42`, `true` et `null` restent du texte entre guillemets.
Comment les guillemets et barres inverses sont-ils traités ?
La sérialisation JSON standard les échappe correctement, ainsi que les tabulations et autres caractères de contrôle.