Da testo libero a JSON strutturato
Un curriculum che indica il telefono in una frase e il ruolo tre paragrafi dopo torna come un unico record ordinato con entrambi i dati, nel formato esatto che lei ha definito e controllato prima della consegna. Paga a consumo, senza abbonamento.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Utile a chi sviluppa e deve dare una forma ordinata a informazioni che arrivano come testo libero.
Perché un testo scritto per le persone non entra in un database
Il testo libero si rifiuta di entrare in una colonna di database finché qualcuno non lo costringe. Ciò che si scrive per le persone raramente coincide con le informazioni di cui ha bisogno un'applicazione. Un curriculum cita il numero di telefono in una frase e il ruolo tre paragrafi più in basso; una scheda prodotto nasconde materiale e dimensioni dentro il testo pubblicitario. Scrivere regole di estrazione diverse per ogni fonte è una battaglia persa, perché il formato cambia ogni volta che cambia la fonte. Qui lei descrive una volta sola il record che vuole, con i suoi dati, il tipo di valore di ciascuno e quali sono obbligatori, e lo applica a qualsiasi testo.
Un record esattamente nella forma richiesta
Ciò che torna segue la sua struttura alla lettera: nessun dato inventato in più, nessun nome cambiato e nessun testo trasformato in numero quando non dovrebbe. Ogni risultato viene controllato rispetto alla sua struttura prima della consegna, così un record malformato non finisce mai di nascosto nel suo database per rompere qualcosa più tardi: lei vede subito il problema. Se un'informazione obbligatoria manca davvero nel testo, il risultato lo dice invece di inventare un valore plausibile. Gli usi tipici sono trasformare le schede prodotto dei fornitori in voci di catalogo con prezzo, dimensioni e materiale, e trasformare l'e-mail di reclamo di un cliente in categoria, livello di urgenza e riferimento dell'account per smistarla.
Domande frequenti
Posso decidere io i campi?
Se non li indichi, propone una struttura a partire dal contenuto.
E se un dato manca nel testo?
Lascia il campo vuoto o nullo invece di inventarlo. Preferiamo un valore assente a un dato falso: così sai cosa è stato davvero trovato.
Il testo che invio viene conservato?
No. Viene elaborato sui nostri server per il tempo del lavoro e poi eliminato, senza essere usato per addestrare modelli.
Quanto costa?
Prezzo pubblicato, nessun abbonamento; paghi solo le richieste che esegui.
Può aggiungere o rinominare dati che non ho chiesto?
No. Il risultato contiene solo i dati che lei ha definito, con i nomi scelti e il tipo di valore indicato. Non si inventa nulla in più e nessun testo diventa un numero senza avviso.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/text/to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","schema":{"name":"string","total":"number"}}'const res = await fetch("https://api.kit.forhosting.com/text/to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"schema": {
"name": "string",
"total": "number"
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"schema": {
"name": "string",
"total": "number"
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","schema":{"name":"string","total":"number"}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"El informe trimestral cerró con 1,2 M€ de ingresos.","schema":{"name":"string","total":"number"}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/to-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "El informe trimestral cerró con 1,2 M€ de ingresos.",
"schema": {
"name": "string",
"total": "number"
}
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.to_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_tokens | 20000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |
Note tecniche
Uno strumento che trasforma un testo scritto in linguaggio naturale in JSON strutturato: prende i dati sparsi in una frase o in un elenco e li organizza in campi e valori.
A cosa serve
Molti dati nascono come testo: una mail con nome, indirizzo e importo; una riga d’ordine; la descrizione di un contatto. Lo strumento legge quel testo e lo restituisce come JSON pulito, con i campi al posto giusto, pronto da passare a un’applicazione, salvare in un database o inviare a un altro servizio, senza incollare campo per campo a mano.
Come indichi la struttura
Incolli il testo e, se vuoi, descrivi i campi che ti servono («nome, email, città, importo»). Lo strumento riempie quello schema; se non lo indichi, propone lui una struttura sensata a partire dal contenuto. L’output è JSON valido, con le virgolette e le parentesi al posto giusto, senza il lavoro manuale di formattarlo.
Canali e prezzo
Lo esegui da questa pagina o via API, per inserirlo direttamente in una pipeline; in arrivo anche email e Telegram. Si paga a consumo: $0.003 a richiesta più $0.0135 ogni mille parole, prezzo pubblicato, senza abbonamento e senza registrazione.
Casi di integrazione
Dati di contatto da una mail
Da una mail di richiesta ricavi un JSON con nome, azienda, telefono e messaggio, pronto da inserire nel CRM senza copiare campo per campo.
Righe d’ordine testuali
Un cliente scrive l’ordine in un messaggio libero; lo trasformi in JSON con prodotto, quantità e prezzo, così il gestionale lo può leggere.
Normalizzare una lista
Un elenco incollato da un documento diventa un array JSON ordinato, con lo stesso campo per ogni voce, pronto da elaborare.
Domande tecniche
L’output è JSON valido?
Sì. Restituisce JSON ben formato, con virgolette, parentesi e virgole corrette, così lo puoi passare direttamente a un parser senza ripulirlo a mano.