Jwelsch.TextTabulator.Adapters.Json
1.9.2
dotnet add package Jwelsch.TextTabulator.Adapters.Json --version 1.9.2
NuGet\Install-Package Jwelsch.TextTabulator.Adapters.Json -Version 1.9.2
<PackageReference Include="Jwelsch.TextTabulator.Adapters.Json" Version="1.9.2" />
<PackageVersion Include="Jwelsch.TextTabulator.Adapters.Json" Version="1.9.2" />
<PackageReference Include="Jwelsch.TextTabulator.Adapters.Json" />
paket add Jwelsch.TextTabulator.Adapters.Json --version 1.9.2
#r "nuget: Jwelsch.TextTabulator.Adapters.Json, 1.9.2"
#:package Jwelsch.TextTabulator.Adapters.Json@1.9.2
#addin nuget:?package=Jwelsch.TextTabulator.Adapters.Json&version=1.9.2
#tool nuget:?package=Jwelsch.TextTabulator.Adapters.Json&version=1.9.2
TextTabulator.Adapters.Json
This is an auxillary library for TextTabulator that uses the System.Text.Json library to parse JSON data. It can then provide the parsed JSON data to TextTabulator for consumption.
Installation
First, install the TextTabulator main package and then this one.
Install the TextTabulator.Adapters.Json Nuget package in your project.
nuget install JWelsch.TextTabulator.Adapters.Json
How to use
You can call the code like this:
using TextTabulator;
using TextTabulator.Adapters.Json;
var jsonData =
"""
[
{
"name": "Tyrannosaurus Rex",
"weight": 6.7,
"diet": "Carnivore",
"extinction": 66
},
{
"name": "Triceratops",
"weight": 8,
"diet": "Herbivore",
"extinction": 66
},
{
"name": "Apatosaurus",
"weight": 33,
"diet": "Herbivore",
"extinction": 147
},
{
"name": "Archaeopteryx",
"weight": 0.001,
"diet": "Omnivore",
"extinction": 147
},
{
"name": "Anklyosaurus",
"weight": 4.8,
"diet": "Herbivore",
"extinction": 66
},
{
"name": "Stegosaurus",
"weight": 3.8,
"diet": "Herbivore",
"extinction": 147
},
{
"name": "Hadrosaurus",
"weight": 3,
"diet": "Herbivore",
"extinction": 66
}
]
""";
var jsonAdapter = new JsonTabulatorAdapter(jsonData, true);
var tabulator = new Tabulator();
var table = tabulator.Tabulate(jsonAdapter);
Console.WriteLine(table);
This will produce the output:
-----------------------------------------------
|name |weight|diet |extinction|
|-----------------+------+---------+----------|
|Tyrannosaurus Rex|6.7 |Carnivore|66 |
|-----------------+------+---------+----------|
|Triceratops |8 |Herbivore|66 |
|-----------------+------+---------+----------|
|Apatosaurus |33 |Herbivore|147 |
|-----------------+------+---------+----------|
|Archaeopteryx |0.001 |Omnivore |147 |
|-----------------+------+---------+----------|
|Anklyosaurus |4.8 |Herbivore|66 |
|-----------------+------+---------+----------|
|Stegosaurus |3.8 |Herbivore|147 |
|-----------------+------+---------+----------|
|Hadrosaurus |3 |Herbivore|66 |
-----------------------------------------------
JSON Format
The JsonTabulatorAdapter can only parse JSON data in a specific format. The JSON data must be an array consisting of homogenous JSON objects only. If the JSON document root is not an array an exception will be thrown. If the JSON objects are not homogenous an exception will be thrown.
The data should be in the following format:
[
{
"field1": value1A,
"field2": "value2A"
},
{
"field1": value1B,
"field2": "value2B"
},
{
"field1": value1C,
"field2": "value2C"
}
]
Public API
Follow the link for the full public API documentation.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Jwelsch.TextTabulator.Adapters (>= 1.9.2)
- System.Text.Json (>= 9.0.0 && <= 9.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.