Skip to content

Format-SpectreJson

Description

This function takes an objects and converts them into syntax highlighted Json using the Spectre Console Json Library.
Thanks to trackd for adding this!
See https://spectreconsole.net/widgets/json for more information.


Examples

Example 1
This example demonstrates how to format an array of objects into a Spectre Console Json object with syntax highlighting.

$data = @(
    [pscustomobject]@{
        Name = "John"
        Age = 25
        City = "New York"
        IsEmployed = $true
        Salary = 10
        Hobbies = @("Reading", "Swimming")
        Address = @{
            Street = "123 Main St"
            ZipCode = $null
        }
    }
)
Format-SpectreJson -Data $data

Parameters

Data

The array of objects to be formatted into Json.

TypeRequiredPositionPipelineInput
[Object]true1true (ByValue)

Depth

The maximum depth of the Json. Default is defined by the version of powershell.

TypeRequiredPositionPipelineInput
[Int32]false2false

NoBorder

TypeRequiredPositionPipelineInput
[Switch]falsenamedfalse

Border

TypeRequiredPositionPipelineInput
[String]false3false

Color

TypeRequiredPositionPipelineInput
[String]false4false

Title

TypeRequiredPositionPipelineInput
[String]false5false

Width

TypeRequiredPositionPipelineInput
[Int32]false6false

Height

TypeRequiredPositionPipelineInput
[Int32]false7false

JsonStyle

A hashtable of Spectre Console color names and values to style the Json output. e.g.

@{
    MemberStyle    = "Yellow"
    BracesStyle    = "Red"
    BracketsStyle  = "Orange1"
    ColonStyle     = "White"
    CommaStyle     = "White"
    StringStyle    = "White"
    NumberStyle    = "Red"
    BooleanStyle   = "LightSkyBlue1"
    NullStyle      = "Gray"
}
TypeRequiredPositionPipelineInput
[Hashtable]false8false

Syntax

Format-SpectreJson [-Data] <Object> [[-Depth] <Int32>] [-NoBorder] [[-Border] <String>] [[-Color] <String>] [[-Title] <String>] [[-Width] <Int32>] [[-Height] <Int32>] [[-JsonStyle] <Hashtable>] [<CommonParameters>]