"role": "Developer Productivity Specialist",
"affiliations": "Developer Productivity Global Black Belt, Microsoft",
"notes": "All opinions are my own"
}
npx @toon-format/cli input.json -o output.toon
npx @toon-format/cli input.json -o output.toon
📝Optional “key folding” (v1.5+) collapses chains like data.metadata.items into a single dotted path to save indentation.
📝Optional “key folding” (v1.5+) collapses chains like data.metadata.items into a single dotted path to save indentation.
📝Keys are unquoted unless they contain special characters.
📝Empty object → nothing on that line (or explicit empty object is just a blank indented line in some cases).
📝Keys are unquoted unless they contain special characters.
📝Empty object → nothing on that line (or explicit empty object is just a blank indented line in some cases).
📝Strings are quoted only if they contain the delimiter, colon, newline, etc.
📝Empty array → [0]:
📝Supported delimiters: comma (default), tab, or pipe (|) — tab/pipe can sometimes save an extra token or two.
📝Strings are quoted only if they contain the delimiter, colon, newline, etc.
📝Empty array → [0]:
📝Supported delimiters: comma (default), tab, or pipe (|) — tab/pipe can sometimes save an extra token or two.
📝Objects are indented (2 or 4 spaces, configurable), no braces.
📝Arrays of objects → [length]{field1,field2,…}: header, then one object per line.
📝Simple arrays → just list values on the same line or one per line.
📝Objects are indented (2 or 4 spaces, configurable), no braces.
📝Arrays of objects → [length]{field1,field2,…}: header, then one object per line.
📝Simple arrays → just list values on the same line or one per line.
```
{
"users": [
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "user" }
]
}
```
≈ 45–50 tokens
```
{
"users": [
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "user" }
]
}
```
≈ 45–50 tokens
```
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user
```
≈ 26–28 tokens
```
users[2]{id,name,role}:
1,Alice,admin
2,Bob,user
```
≈ 26–28 tokens
✅Quote strings only when strictly necessary.
✅Keep the whole thing completely reversible to/from normal JSON.
✅Quote strings only when strictly necessary.
✅Keep the whole thing completely reversible to/from normal JSON.
✅Use YAML-style indentation for nested objects (no curly braces).
✅Use CSV-style tabular rows for uniform arrays of objects (declare fields once).
✅Add explicit array lengths ([3]) so the model can immediately validate structure.
✅Use YAML-style indentation for nested objects (no curly braces).
✅Use CSV-style tabular rows for uniform arrays of objects (declare fields once).
✅Add explicit array lengths ([3]) so the model can immediately validate structure.
↓
MVC Layer: Apache Struts 1.3.10
↓
Data Layer: Hibernate 3.6.x (ORM)
↓
Database: MySQL 5.7
↓
MVC Layer: Apache Struts 1.3.10
↓
Data Layer: Hibernate 3.6.x (ORM)
↓
Database: MySQL 5.7