# LHZ.FastJson
**Repository Path**: lhzcm/LHZ.FastJson
## Basic Information
- **Project Name**: LHZ.FastJson
- **Description**: 轻巧便利的Json序列化和反序列化工具 Lightweight and convenient tool for JSON serialization and deserialization
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-09-13
- **Last Updated**: 2026-07-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# LHZ.FastJson
轻巧便利的Json序列化和反序列化工具
[English](README.md) | [更新日志](CHANGELOG_CN.md)
## 序列化性能
LHZ.FastJson重构了序列化方法,拥有极高的序列化性能,下表为LHZ.FastJson、NewtonJson和System.Text.Json的序列化性能测试
``` ini
BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1706 (21H2)
Intel Core i7-9700K CPU 3.60GHz (Coffee Lake), 1 CPU, 8 logical and 8 physical cores
.NET SDK=6.0.201
[Host] : .NET 6.0.3 (6.0.322.12309), X64 RyuJIT
DefaultJob : .NET 6.0.3 (6.0.322.12309), X64 RyuJIT
```
| Method | Mean | Error | StdDev |
|------------------- |----------:|----------:|----------:|
| LHZ.FastJson | 7.014 μs | 0.0298 μs | 0.0279 μs |
| NewtonJson | 18.943 μs | 0.1786 μs | 0.1671 μs |
| System.Text.Json | 10.410 μs | 0.0499 μs | 0.0467 μs |
## 反序列化性能
LHZ.FastJson重构了反序列化方法,相比1.6.0之前的版本有接近2倍的反序列化性能提升
``` ini
BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19044.1889 (21H2)
Intel Core i7-9700K CPU 3.60GHz (Coffee Lake), 1 CPU, 8 logical and 8 physical cores
.NET SDK=6.0.302
[Host] : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT
DefaultJob : .NET 6.0.7 (6.0.722.32202), X64 RyuJIT
```
| Method | Mean | Error | StdDev |
|------------------- |---------:|---------:|---------:|
| LHZFastJson v1.6.0 | 43.91 ms | 0.181 ms | 0.170 ms |
| LHZFastJson v1.5.2 | 85.18 ms | 0.301 ms | 0.282 ms |
# 如何安装
### 下面展示不同的安装方法,以安装[LHZ.FastJson 1.8.5](https://www.nuget.org/packages/LHZ.FastJson/1.8.5)版本为例
### Package Manager
``` bash
Install-Package LHZ.FastJson -Version 1.8.5
```
### .NET CLI
``` bash
dotnet add package LHZ.FastJson --Version 1.8.5
```
### package-reference
``` xml
```
### Paket CLI
``` bash
paket add LHZ.FastJson --version 1.8.5
```
# 如何使用
## 使用LHZ.FastJson进行序列化
### 序列化代码示例
``` cshap
Student student = new Student
{
NO = 1,
[JsonProperty("studentName")]
Name = "lhz",
Age = 18,
Brithday = new DateTime(2002, 1, 1)
};
string jsonStr = LHZ.FastJson.JsonConvert.Serialize(student);
Console.WriteLine(jsonStr);
```
### 运行结果
``` bash
PS C:\Users\admin\source\repos\LHZ.FastJson\LHZ.FastJson.Test> dotnet run
{"NO":1,"studentName":"lhz","Age":18,"Brithday":"2000/1/1 0:00:00"}
```
## 使用LHZ.FastJson进行反序列化
### 反序列化代码示例
``` cshap
string str = "{\"NO\":1,\"studentName\":\"lhz\",\"Age\":18,\"Brithday\":\"2000/1/1 0:00:00\"}";
Student student = JsonConvert.Deserialize(str);
Console.WriteLine("NO:{0},Name:{1},Age:{2},Brithday:{3}", student.NO, student.Name, student.Age, student.Brithday.ToString("yyyy-MM-dd"));
```
### 运行结果
``` bash
PS C:\Users\admin\source\repos\LHZ.FastJson\LHZ.FastJson.Test> dotnet run
NO:1,Name:lhz,Age:18,Brithday:2000-1-1
```