FracturedJson 3.0.2
dotnet add package FracturedJson --version 3.0.2
NuGet\Install-Package FracturedJson -Version 3.0.2
<PackageReference Include="FracturedJson" Version="3.0.2" />
paket add FracturedJson --version 3.0.2
#r "nuget: FracturedJson, 3.0.2"
// Install FracturedJson as a Cake Addin
#addin nuget:?package=FracturedJson&version=3.0.2
// Install FracturedJson as a Cake Tool
#tool nuget:?package=FracturedJson&version=3.0.2
FracturedJson
FracturedJson is utility that formats JSON data producing user-readable but fairly compact output. Arrays and objects are written on single lines if they're short enough and not too complex; otherwise their contents are presented indented, beginning on lines of their own. If a collection of inline arrays or objects are sufficiently similar and there's enough room, they will be aligned in a tabular arrangement.
It is available as a browser page, a .NET Standard 2.0 library, a Javascript package, and a Visual Studio Code extension.
Here's a sample of output using default settings:
{
"SimpleArray": [
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61,
67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113
],
"ObjectColumnsArrayRows": {
"Katherine": ["blue" , "lightblue", "black" ],
"Logan" : ["yellow" , "blue" , "black", "red"],
"Erik" : ["red" , "purple" ],
"Jean" : ["lightgreen", "yellow" , "black" ]
},
"ArrayColumnsObjectRows": [
{ "type": "turret" , "hp": 400, "loc": {"x": 47, "y": -4}, "flags": "S" },
{ "type": "assassin" , "hp": 80, "loc": {"x": 12, "y": 6}, "flags": "Q" },
{ "type": "berserker", "hp": 150, "loc": {"x": 0, "y": 0} },
{ "type": "pittrap" , "loc": {"x": 10, "y": -14}, "flags": "S,I" }
],
"ComplexArray": [
[19, 2],
[ 3, 8],
[14, 0],
[ 9, 9],
[ 9, 9],
[ 0, 3],
[10, 1],
[ 9, 1],
[ 9, 2],
[ 6, 13],
[18, 5],
[ 4, 11],
[12, 2]
]
}
If enabled in the settings, it can also handle JSON-with-comments (which isn't real JSON).
{
/*
* Multi-line comments
* are fun!
*/
"NumbersWithHex": [
254 /*00FE*/, 1450 /*5AA*/ , 0 /*0000*/, 36000 /*8CA0*/, 10 /*000A*/,
199 /*00C7*/, 15001 /*3A99*/, 6540 /*198C*/
],
/* Elements are keen */
"Elements": [
{ /*Carbon*/ "Symbol": "C" , "Number": 6, "Isotopes": [11, 12, 13, 14] },
{ /*Oxygen*/ "Symbol": "O" , "Number": 8, "Isotopes": [16, 18, 17 ] },
{ /*Hydrogen*/ "Symbol": "H" , "Number": 1, "Isotopes": [ 1, 2, 3 ] },
{ /*Iron*/ "Symbol": "Fe", "Number": 26, "Isotopes": [56, 54, 57, 58] }
// Not a complete list...
],
"Beatles Songs": [
"Taxman" , // George
"Hey Jude" , // Paul
"Act Naturally" , // Ringo
"Ticket To Ride" // John
]
}
More Information
Please see the project wiki for more information on what you can do and how to use the tools. Or, visit the browser-based formatter to experiment.
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- System.Text.Json (>= 6.0.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.