INI till JSON-konverterare

INI-filer är det plana nyckel-värde-formatet som fortfarande används i Windows-appar, i PHP:s egna php.ini-filer samt i många CI-runners. JSON är det format som de flesta moderna bibliotek kräver. Denna omvandlare läser en INI-fil – med beaktande av [section]-block, key = value-linjer och kommentarer med semikolon – och returnerar motsvarande JSON, där varje avsnitt omvandlas till ett objekt.

Så konverterar du INI till JSON

  1. 1

    Klistra in INI-innehållet

    Avsnitt inom hakparenteser, med nyckel-värde-par nedanför.

  2. 2

    Parsa

    Kommentarer (";" och "#") samt tomma rader tas bort; blanksteg runt "=" ignoreras.

  3. 3

    Mappa till JSON

    Varje avsnitt blir ett JSON-objekt; nycklar på översta nivån utanför något avsnitt placeras i roten.

  4. 4

    Kopiera JSON

    Utdata formateras snyggt med två blanksteg som indrag.

Exempel

Inmatning:

; database config
[database]
host = db.example.com
port = 5432
user = app

[cache]
driver = redis
ttl = 3600

Utgång:

{
  "database": {
    "host": "db.example.com",
    "port": "5432",
    "user": "app"
  },
  "cache": {
    "driver": "redis",
    "ttl": "3600"
  }
}

INI-egenheter som konverteraren hanterar

INI-syntax Beteende
; kommentar Borttagen
# kommentar Borttagen (icke-standard men vanlig)
Saknat avsnitt Nycklarna går till rotobjektet
Duplicerade nycklar Den sista vinner
key[]-arrayform Omvandlas till en JSON-array (i PHP-stil)
Citerade värden Citattecken tas bort; det inre innehållet bevaras

Vad det inte gör

  • Typinferens: INI använder strikt strängtypning; värdena 42 och “42” ser likadana ut. Alla värden visas som JSON-strängar, om du inte väljer ett steg som försöker tolka tal eller booleska värden.
  • Nästlade avsnitt: Standard-INI har inga nästlade avsnitt. Ett [database.primary]-block bevaras som en enda nyckel i stället för ett nästlat objekt.
  • Flerradiga värden (utöver vad INI självt tillåter).

När INI fortfarande är vettigt

För en platt konfiguration med icke-tekniska redigerare är INI svår att överträffa – en nyckel per rad, inga klammerparenteser och mycket tillåtande. JSON är det bästa alternativet när verktyg måste bearbeta datan och den nästlade strukturen spelar en viktig roll.

Vanliga frågor

Eftersom INI är strikt strängtypat är både “42” och “fyrtiotvå” giltiga värden, och omvandlaren kan inte skilja dem åt utan tydliga signaler. Om du behöver numerisk JSON, kör ett efterbehandlingssteg eller aktivera “automatisk typinferens” om ditt verktyg stöder det.

INI-specifikationen inkluderar inte nästlade avsnitt – [a.b] är ett enskilt avsnitt vars namn råkar innehålla en punkt. Att omvandla detta till en nästlad JSON-struktur är en konvention, inte en standard, därför behåller omvandlaren avsnitten i platt form.

Ja. Flera key[] = value-rader i samma avsnitt slås samman till en JSON-array. En enskild key[]-rad visas fortfarande som en array med ett enda element för att bibehålla en enhetlig struktur.

Nej, analysen sker i webbläsaren och innehållet skickas aldrig externt.

Relaterade verktyg

Verktyget finns på andra språk