NPipeline.Connectors.Json 0.32.0

dotnet add package NPipeline.Connectors.Json --version 0.32.0
                    
NuGet\Install-Package NPipeline.Connectors.Json -Version 0.32.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NPipeline.Connectors.Json" Version="0.32.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NPipeline.Connectors.Json" Version="0.32.0" />
                    
Directory.Packages.props
<PackageReference Include="NPipeline.Connectors.Json" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NPipeline.Connectors.Json --version 0.32.0
                    
#r "nuget: NPipeline.Connectors.Json, 0.32.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NPipeline.Connectors.Json@0.32.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NPipeline.Connectors.Json&version=0.32.0
                    
Install as a Cake Addin
#tool nuget:?package=NPipeline.Connectors.Json&version=0.32.0
                    
Install as a Cake Tool

NPipeline JSON Connector

NPipeline JSON Connector provides source and sink nodes for reading and writing JSON files using System.Text.Json. This package enables seamless integration of JSON data processing into your NPipeline workflows with configurable parsing options and type-safe operations.

About NPipeline

NPipeline is a high-performance, extensible data processing framework for .NET that enables developers to build scalable and efficient pipeline-based applications. It provides a rich set of components for data transformation, aggregation, branching, and parallel processing, with built-in support for resilience patterns and error handling.

Installation

dotnet add package NPipeline.Connectors.Json

Requirements

  • .NET 8.0, 9.0, or 10.0
  • System.Text.Json 9.0.0+ (automatically included as a dependency)
  • NPipeline.Connectors (automatically included as a dependency)

Features

  • JSON Source Node: Read JSON files and deserialize to strongly-typed objects
  • JSON Sink Node: Serialize objects to JSON format and write to files
  • System.Text.Json Integration: Leverages modern System.Text.Json library for reliable JSON processing
  • Multiple JSON Formats: Support for both JSON array and newline-delimited JSON (NDJSON) formats
  • Configurable Options: Customize naming policies, case sensitivity, and indentation
  • Type-Safe Operations: Compile-time safety with generic type parameters
  • Storage Abstraction: Works with pluggable storage providers for flexible file access
  • Streaming Processing: Memory-efficient streaming for large JSON files
  • Row-Level Error Handling: Opt-in handler to decide whether to skip or fail on mapping errors

Configuration Options

JsonConfiguration

The JsonConfiguration class provides configuration options for JSON operations:

Property Type Default Description
BufferSize int 4096 Buffer size for stream operations
Format JsonFormat Array JSON format (Array or NewlineDelimited)
WriteIndented bool false Whether to format JSON output with indentation
PropertyNameCaseInsensitive bool true Whether property name comparison is case-insensitive
PropertyNamingPolicy JsonPropertyNamingPolicy LowerCase Naming policy for JSON property names
RowErrorHandler Func<Exception, JsonRow, bool>? null Handler for row mapping errors

JsonFormat

The JsonFormat enum specifies the format of JSON data:

  • Array: JSON data is structured as a JSON array containing JSON objects (default)
  • NewlineDelimited: JSON data is structured as newline-delimited JSON (NDJSON)

JsonPropertyNamingPolicy

The JsonPropertyNamingPolicy enum specifies the naming policy for JSON property names:

  • LowerCase: Property names are converted to lowercase (default)
  • CamelCase: Property names are converted to camelCase
  • SnakeCase: Property names are converted to snake_case
  • PascalCase: Property names are converted to PascalCase
  • AsIs: Property names are used as-is without transformation

JsonRow

The JsonRow readonly struct provides efficient, read-only access to JSON object properties:

  • TryGet<T>(string name, out T? value, T? defaultValue = default): Try to read a property by name
  • Get<T>(string name, T? defaultValue = default): Read a property by name
  • HasProperty(string name): Check if a property exists
  • GetNested<T>(string path, T? defaultValue = default): Read a nested property using dot notation

JsonMappingException

The JsonMappingException is thrown when a JSON mapping error occurs, such as:

  • A required property is missing from the JSON object
  • A property value cannot be converted to the target type
  • A nested property path is invalid or does not exist
  • The JSON structure does not match the expected schema

License

MIT License - see LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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 is compatible.  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 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.32.0 65 3/11/2026
0.31.1 78 3/6/2026
0.31.0 75 3/6/2026
0.30.0 82 3/5/2026
0.29.0 80 3/5/2026
0.28.0 79 3/4/2026
0.27.0 77 3/4/2026
0.26.0 79 3/3/2026
0.25.0 86 3/2/2026
0.24.0 82 3/2/2026
0.23.0 85 2/28/2026
0.22.0 87 2/28/2026
0.21.0 84 2/28/2026
0.20.1 88 2/27/2026
0.20.0 87 2/27/2026
0.19.0 83 2/26/2026
0.18.2 84 2/26/2026
0.18.1 82 2/26/2026
0.18.0 86 2/25/2026
0.17.0 83 2/25/2026
Loading failed