Skip to content
Browse tools

Logs are not JSON

Every language prints objects in its own debug format, and none of them are JSON. Paste a toString(), print_r, repr or %+v dump here and read it as a tree — or convert it to real JSON you can use everywhere else.

Reads
8 dump formats
Gives
tree · JSON
Privacy
never leaves your browser
Paste

Debug output

empty
Format
Result

Structure

click a row to expand · grey values were not in the source

waiting for input

waiting for input

waiting for input

Nothing pasted yet Paste a toString(), print_r, repr or %+v dump.

What each format looks like

JSON & escaped JSON

"{\"id\":1042}"

Plain JSON is read as-is. A payload logged inside a string field — every quote backslash-escaped — is unescaped first, so you do not have to clean it up by hand.

C# / .NET

Type { Prop = value }

Records generate this automatically. Collections print only their type name, so their contents are already gone before you paste.

Java

Class(field=value)

Lombok and most IDE-generated toString() methods. A bare Class@1a2b3c means no override exists — that is an identity hash, not data.

Python

{'key': 'value', 'ok': True}

Single quotes and True/False/None, where JSON needs double quotes and lowercase literals.

PHP

Array ( [key] => value )

print_r is indentation-based; var_dump annotates every value with type and length. Both are supported.

Ruby

{:key=>"value"}

Symbol keys and hash rockets. #<Object:0x…> references carry no attributes.

Go

{Field:value Other:2}

fmt.Printf("%+v"). Space separated, unquoted — ambiguous when a value itself contains a space.

Why some values come back as unavailable

The data was never in the text

List`1[Shop.OrderLine]

List<T> does not override ToString(), so .NET prints its type name and discards every item. No parser can recover what was never written. We show these as greyed placeholders rather than silently emitting an empty array.

Fix it at the source

JsonSerializer.Serialize(obj)

If you control the code that produced the dump, log JSON instead. One line changes a lossy, unparseable string into something every tool on this site can read — and you stop losing collections entirely.