JSON-formatterer
Rask, gratis og sikker nettbasert JSON-formatering.
Formater JSON-en din nedenfor
Formater JSON-en din raskt på nettet med øyeblikkelige resultater. Nyt en moderne, kodevennlig editor med linjenummer og syntaksutheving. Alle operasjoner er raske, private og forblir i din nettleser.
Hva er JSON-formatering?
JSON-formatering innebærer å gjøre JSON-data konsekvent og menneskevennlig ved å legge til innrykk, mellomrom og linjeskift uten å endre struktur eller innhold. God formatering gjør det enklere å lese, feilsøke, dele og redigere JSON, samtidig som kompatibilitet med maskiner og programvarer opprettholdes.
JSON ignorerer som standard mellomrom utenfor tekstverdier. Dårlig formatert (eller minifisert) JSON – uten innrykk eller på én linje – kan være nesten umulig for mennesker å lese eller pålitelig endre.
Formatering vs. minifisering av JSON
- Formatering legger til mellomrom, innrykk og linjeskift for klarhet og lesbarhet.
- Minifisering fjerner unødvendige mellomrom for maksimal kompakthet og effektivitet ved lagring eller overføring.
- En robust JSON-formaterer lar deg enkelt bytte mellom disse modusene for å veksle mellom menneskevennlige og maskinoptimaliserte versjoner.
Eksempel: Minifisert vs formattet JSON
Minifisert (kompakt) JSON:{"id":"3f4b2c","user":{"name":"Dana","is_active":true},"roles":["admin","editor"],"count":7}Formatert (penutskrift) JSON:
{ "id": "3f4b2c", "user": { "name": "Dana", "is_active": true }, "roles": [ "admin", "editor" ], "count": 7 }
Hvorfor formatere JSON?
- Lesbarhet: Riktig innrykk og linjeskift gjør det enklere å inspisere nestede objekter, finne feil og forstå komplekse datastrukturer raskt.
- Feilsøking: Det er mye enklere å avdekke ugyldige eller uventede data når du visuelt kan følge nøkkel, verdi og nestingsnivå.
- Samarbeid: Godt formatert JSON er enklere å gjennomgå, diskutere og redigere i kodegjennomganger, dokumentasjon eller delte filer.
- Versjonskontroll: Git og andre VCS-verktøy gir mer meningsfulle endringer (diffs) med formatert JSON som gjør det enklere å spore endringer over tid.
- Overholdelse: Mange stilguider og automatiske linters (som Prettier, ESLint eller jq) krever konsekvent formatering for klarhet og standardisering.
- Verktøykompatibilitet: Enkelte API-er, kommandolinjeverktøy og redaktører forventer formatert input for bedre menneskelig interaksjon eller logging.
Hvordan fungerer en JSON-formaterer?
- Parsing: Formattereren prøver først å parse inputen din med en streng JSON-parser. Dette sjekker syntaks og oppdager problemer som manglende anførselstegn, ekstra komma eller uønskede tegn.
- Penutskrift: Når input er gyldig, serialiseres dataene tilbake til en tekststreng med brukerdefinert innrykk (ofte 2 eller 4 mellomrom) og linjeskift, og skaper en penutskrift-versjon.
Er input ikke gyldig JSON, vil formatteren vise en feil eller gi en nyttig melding med posisjon og type problem.
Formatteringsvalg
- Innrykk: Sett antall mellomrom per nivå (opptil 8).
- Sorter objektsnøkler alfabetisk
- Bruk tabulatorer til innrykk i stedet for mellomrom
- Escape ikke-ASCII-tegn som Unicode
- Minifiser output (én linje, uten mellomrom)
Vanlige problemer løst med formatering
- Én-linje/Minifisert JSON: Data fra API-er eller loggfiler er ofte minifisert for båndbredde-effektivitet, noe som gjør manuell redigering vanskelig. Formatering gjenoppretter lesbarhet for gjennomgang og redigering.
- Ujevn innrykk: JSON limt inn fra ulike kilder kan ha blandede tabulatorer, mellomrom eller uensartet innrykk. Omformattering skaper enhetlighet og bedre lesbarhet.
- Store/nestede strukturer: Dype nestede matriser eller objekter (for eksempel konfigurasjonsfiler eller komplekse API-svar) blir håndterbare og oversiktlige med formatering, gjerne med sammenleggbare visninger i støttede redaktører.
Virkelighetsnært bruk: Formatering av API-svar
Når du jobber med tredjeparts API-er (som AWS, Stripe eller Google Cloud), er svar ofte komprimert for hastighet. Formatering gjør det enklere å sjekke for manglende felt, feilsøke uventede verdier eller dele med kolleger.
Eksempel: Rå API-respons{"amount":2500,"currency":"usd","status":"succeeded","charges":[{"id":"ch_1Gq","amount":2500}]}Formatert for gjennomgang
{ "amount": 2500, "currency": "usd", "status": "succeeded", "charges": [ { "id": "ch_1Gq", "amount": 2500 } ] }
Hvordan formatere JSON med dette verktøyet
- Lim inn eller last opp rå, minifisert eller dårlig formatert JSON i inndatafeltet.
- Velg formatteringsvalg (innrykk, sorter nøkler, osv.).
- Klikk «Formater» for å behandle JSON-en.
- Se eller kopier den rene, lesbare outputen. Ved feil vises detaljerte syntaksmeldinger som hjelper deg å rette JSON-en.
All formatering skjer sikkert i nettleseren din — dataene dine forlater aldri enheten.
Kodeeksempler for JSON-formatering
Se hvordan du formaterer JSON i forskjellige programmeringsspråk. Disse eksemplene viser grunnleggende formateringsteknikker.
const ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}';
const pretty = JSON.stringify(JSON.parse(ugly), null, 2);
console.log(pretty);
import json
ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}'
pretty = json.dumps(json.loads(ugly), indent=2)
print(pretty)
package main
import (
"encoding/json"
"fmt"
)
func main() {
ugly := []byte(`{"name":"Alice","age":30,"roles":["admin","user"]}`)
var obj interface{}
json.Unmarshal(ugly, &obj)
pretty, _ := json.MarshalIndent(obj, "", " ")
fmt.Println(string(pretty))
}
import com.fasterxml.jackson.databind.ObjectMapper;
public class Main {
public static void main(String[] args) throws Exception {
String ugly = "{"name":"Alice","age":30,"roles":["admin","user"]}";
ObjectMapper mapper = new ObjectMapper();
Object obj = mapper.readValue(ugly, Object.class);
String pretty = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
System.out.println(pretty);
}
}
using System;
using Newtonsoft.Json;
class Program {
static void Main() {
var ugly = "{"name":"Alice","age":30,"roles":["admin","user"]}";
var parsed = JsonConvert.DeserializeObject(ugly);
var pretty = JsonConvert.SerializeObject(parsed, Formatting.Indented);
Console.WriteLine(pretty);
}
}
<?php
$ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}';
$obj = json_decode($ugly);
echo json_encode($obj, JSON_PRETTY_PRINT);
require 'json'
ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}'
pretty = JSON.pretty_generate(JSON.parse(ugly))
puts pretty
echo '{"name":"Alice","age":30,"roles":["admin","user"]}' | jq .
fn main() {
let ugly = r#"{"name":"Alice","age":30,"roles":["admin","user"]}"#;
let value: serde_json::Value = serde_json::from_str(ugly).unwrap();
let pretty = serde_json::to_string_pretty(&value).unwrap();
println!("{}", pretty);
}
import com.fasterxml.jackson.databind.ObjectMapper
fun main() {
val ugly = "{"name":"Alice","age":30,"roles":["admin","user"]}"
val mapper = ObjectMapper()
val obj = mapper.readValue(ugly, Any::class.java)
val pretty = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj)
println(pretty)
}
import Foundation
let ugly = "{\"name\":\"Alice\",\"age\":30,\"roles\":[\"admin\",\"user\"]}"
if let data = ugly.data(using: .utf8),
let obj = try? JSONSerialization.jsonObject(with: data),
let pretty = try? JSONSerialization.data(withJSONObject: obj, options: .prettyPrinted),
let prettyString = String(data: pretty, encoding: .utf8) {
print(prettyString)
}
const ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}';
const pretty = JSON.stringify(JSON.parse(ugly), null, 2);
console.log(pretty);
SELECT jsonb_pretty('{"name":"Alice","age":30,"roles":["admin","user"]}'::jsonb);
SELECT JSON_PRETTY('{"name":"Alice","age":30,"roles":["admin","user"]}');
$ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}'
$obj = $ugly | ConvertFrom-Json
$pretty = $obj | ConvertTo-Json -Depth 10
Write-Output $pretty
use JSON;
my $ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}';
my $obj = decode_json($ugly);
print to_json($obj, { pretty => 1 });
import 'dart:convert';
void main() {
const ugly = '{"name":"Alice","age":30,"roles":["admin","user"]}';
final obj = jsonDecode(ugly);
final pretty = JsonEncoder.withIndent(' ').convert(obj);
print(pretty);
}
ugly = ~s({"name":"Alice","age":30,"roles":["admin","user"]})
{:ok, obj} = Jason.decode(ugly)
pretty = Jason.encode!(obj, pretty: true)
IO.puts(pretty)
import play.api.libs.json._
object Main extends App {
val ugly = """{"name":"Alice","age":30,"roles":["admin","user"]}"""
val jsValue = Json.parse(ugly)
val pretty = Json.prettyPrint(jsValue)
println(pretty)
}