JsonViewer.Blazor 0.0.6

The specified version 0.0.5-beta was not found. You have been taken to version 0.0.6.
dotnet add package JsonViewer.Blazor --version 0.0.6
                    
NuGet\Install-Package JsonViewer.Blazor -Version 0.0.6
                    
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="JsonViewer.Blazor" Version="0.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="JsonViewer.Blazor" Version="0.0.6" />
                    
Directory.Packages.props
<PackageReference Include="JsonViewer.Blazor" />
                    
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 JsonViewer.Blazor --version 0.0.6
                    
#r "nuget: JsonViewer.Blazor, 0.0.6"
                    
#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 JsonViewer.Blazor@0.0.6
                    
#: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=JsonViewer.Blazor&version=0.0.6
                    
Install as a Cake Addin
#tool nuget:?package=JsonViewer.Blazor&version=0.0.6
                    
Install as a Cake Tool

🚀 JSON Viewer Component for Blazor

<div align="center">

JSON Viewer Component

A powerful, feature-rich JSON viewer component for Blazor applications with VS Code-style syntax highlighting.

NuGet Version NuGet Downloads GitHub Stars License

Demo | Documentation | Report Bug | Request Feature

</div>


✨ Features

  • 🎨 VS Code-style syntax highlighting
  • 🌓 Dark & Light theme support with persistence
  • 🔍 Real-time search with match highlighting and navigation
  • 📊 JSON statistics (size, depth, type distribution)
  • 📝 Edit mode with auto-formatting and validation
  • 📋 Copy & Export functionality
  • ⌨️ Keyboard shortcuts (Enter, Shift+Enter for search navigation)
  • 🔢 Line numbers with active line highlighting
  • 🎯 Expand/Collapse individual or all nodes
  • 📱 Fully responsive design for mobile, tablet, and desktop
  • High performance - handles large JSON files efficiently
  • 🎭 Smooth animations and transitions

📦 Installation

Install via NuGet Package Manager:

dotnet add package JsonViewer.Blazor

Or via Package Manager Console:

Install-Package JsonViewer.Blazor

🚀 Quick Start

1️⃣ Add namespace to _Imports.razor:

@using JsonViewerComponent
@using JsonViewerComponent.Components

2️⃣ Use in your component:

@page "/json-demo"

<JsonViewer JsonData="@jsonString" IsEditable="true" />

@code {
private string jsonString = @"{
""name"": ""John Doe"",
""age"": 30,
""email"": ""john.doe@example.com"",
""hobbies"": [""reading"", ""gaming"", ""coding""]
}";
}

📖 Usage Examples

Read-Only Mode

<JsonViewer JsonData="@jsonData" IsEditable="false" />

Editable Mode with Two-Way Binding

<JsonViewer @bind-JsonData="jsonData" IsEditable="true" />

@code {
private string jsonData = "{}";
}

Dynamic JSON Loading

<button @onclick="LoadSampleData">Load Sample</button>
<JsonViewer JsonData="@jsonData" IsEditable="true" />

@code {
private string jsonData = "";

private void LoadSampleData()
{
jsonData = @"{""userId"": 1, ""userName"": ""Alice""}";
}
}

⌨️ Keyboard Shortcuts

Shortcut Action
Enter Navigate to next search match
Shift + Enter Navigate to previous search match
Escape Clear search (when search is active)

🎨 Theme Support

The component automatically saves your theme preference to localStorage:

@* Theme persists across page refreshes *@
<JsonViewer JsonData="@jsonData" IsEditable="true" />

📊 JSON Statistics

View detailed statistics about your JSON:

  • Total Size (bytes)
  • Total Properties
  • Object Count
  • Array Count
  • Max Depth
  • Average Array Length

Access statistics via the stats button in the sidebar.


🔍 Search Features

  • Real-time highlighting of all matches
  • Match counter showing current match / total matches
  • Navigation buttons to jump between matches
  • Keyboard support for quick navigation
  • Case-insensitive search

🛠️ Configuration

Currently, the component works out-of-the-box with minimal configuration. Future versions will support:

  • Custom themes
  • Plugin system
  • Additional export formats
  • And more!

🤝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please read our Contributing Guide for more details.


🐛 Bug Reports & Feature Requests

Found a bug or have an idea? Please open an issue:


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


💖 Support

If you find this project helpful, please consider:

  • Starring the repository
  • 🐛 Reporting bugs or suggesting features
  • 📢 Sharing with others
  • Sponsoring the project

👨‍💻 Author

Parsa Panahpoor


🌟 Acknowledgments

Special thanks to all contributors and the Blazor community!


<div align="center">

Made with ❤️ by JsonViewer Component

</div>


Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 is compatible.  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 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.0.6 34 12/17/2025
0.0.5 32 12/16/2025
0.0.4-beta 135 12/3/2025
0.0.3-beta 138 12/3/2025
0.0.2-beta 348 11/19/2025
0.0.1-beta 187 11/16/2025

# JsonViewer.Blazor v0.0.6

This release includes performance improvements and minor optimizations.

---

## 🔧 Performance Optimizations

### ⚡ Improved Memory Management in JsonPathDisplay
- **CancellationToken Integration**: Using  for better async operation management
- **Memory Leak Prevention**: Prevents memory leaks when quickly closing the modal
- **Better Resource Management**: Improved resource management by disposing CancellationTokenSource

### 📝 Improved TruncateValue Performance
- **Modern C# Features**: Using  and  for better performance
- **Optimized String Operations**: Improved performance for large strings using  instead of

---

## 📋 Technical Changes

### Components Modified
- : Improved async operations management and string operations performance

### Performance Improvements
- Reduced memory usage in copy path operations
- Improved truncate speed for long values

---

## 📦 Installation



---

## 📝 Notes

- This release focuses primarily on performance and optimization improvements
- All previous features remain unchanged

---