LitJSON
=======
[![NuGet](https://img.shields.io/nuget/v/LitJson.svg)](https://www.nuget.org/packages/LitJson) [![MyGet](https://img.shields.io/myget/litjson/vpre/LitJson.svg?label=myget)](https://www.myget.org/gallery/litjson)
A *.Net* library to handle conversions from and to JSON (JavaScript Object
Notation) strings.
> _It's quick and lean, without external dependencies.
> Just a few classes so easily embeddable in your own code or a very small assembly to ship with your code.
> The code is highly portable, which in general makes it easy to adapt for new platforms._
## Continuous integration
| Build server | Platform | Build status |
|-----------------------------|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| AppVeyor | Windows | [![AppVeyor branch](https://img.shields.io/appveyor/ci/litjson/litjson/develop.svg)](https://ci.appveyor.com/project/litjson/litjson/branch/develop) |
| Bitrise | MacOS | [![Build Status](https://app.bitrise.io/app/5975a00ca2666fb1/status.svg?token=OZnv4YWRw71IVax38Wi50Q&branch=develop)](https://app.bitrise.io/app/5975a00ca2666fb1) |
| Bitrise | Linux | [![Build Status](https://app.bitrise.io/app/4c9ee62c6ba13630/status.svg?token=RBH8UKw-68lQYjageT8VoQ&branch=develop)](https://app.bitrise.io/app/4c9ee62c6ba13630)|
| Travis | Linux / MacOS | [![Travis build status](https://travis-ci.org/LitJSON/litjson.svg?branch=develop)](https://travis-ci.org/LitJSON/litjson) |
| Azure Pipelines | Linux / MacOS / Windows | [![Azure Pipelines Build Status](https://dev.azure.com/LitJSON/litjson/_apis/build/status/LitJSON.litjson?branchName=develop)](https://dev.azure.com/LitJSON/litjson/_build/latest?definitionId=3&branchName=develop) |
## Compiling
Code can be compiled using .NET CLI or by launching the bootstrappers in the root of the repository.
#### Windows
```powershell
./build.ps1
```
#### Linux / OS X
```console
./build.sh
```
#### Prerequisites
The bootstrappers will (locally in repo)
* Fetch and install .NET Core CLI / SDK version needed to compile LitJSON.
* Fetch and install Cake runner
* Execute build script with supplied target (`--target=[Target]`) or by default
1. Clean previous artifacts
1. Restore build dependencies from NuGet
1. Build
1. Run unit tests
1. Create NuGet package
#### Testing
This library comes with a set of unit tests using the [NUnit][nunit]
framework.
## Using LitJSON from an application
#### Package manager
```PowerShell
Install-Package LitJson -Version 0.10.0
```
#### .NET CLI
```PowerShell
dotnet add package LitJson --version 0.10.0
```
#### Paket CLI
```PowerShell
paket add LitJson --version 0.10.0
```
Alternatively, just copy the whole tree of files under `src/LitJSON` to your
own project's source tree and integrate it with your development environment.
#### Requirements
LitJSON currently targets and supports
* .NET Standard 2.0
* .NET Standard 1.5
* .NET Framework 4.5 and above
* .NET Framework 4.0
* .NET Framework 3.5 (including SQLCLR, for which [WCOMAB/SqlServerSlackAPI](https://github.com/WCOMAB/SqlServerSlackAPI) is an example of)
* .NET Framework 2.0
* Mono 4.4.2 and above
#### Prereleases
Each merge to develop is published to our NuGet feed on [MyGet](mygetgallery).
## Contributing
So you’re thinking about contributing to LitJSON? Great! It’s **really** appreciated.
* Create an issue
* Fork the repository.
* Create a feature branch from `develop` to work in.
* Make your feature addition or bug fix.
* Don't forget the unit tests.
* Send a pull request.
## License
[Unlicense][unlicense] (public domain).
[mygetgallery]: [https://www.myget.org/gallery/litjson]
[litjson]: [unlicense](http://unlicense.org/
[nunit]: http://www.nunit.org/
[pkg-config]: http://www.freedesktop.org/wiki/Software/pkg-config
[unlicense]: http://unlicense.org/
【Json serializer-Deserialize-C#】基础点罗列
需积分: 0 197 浏览量
更新于2023-06-18
收藏 80KB RAR 举报
在C#编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于在客户端和服务器之间传输数据。对于C#开发者而言,理解和掌握JSON序列化和反序列化是十分重要的技能。本文将重点讲解使用litjson库进行JSON反序列化的基础知识。
标题中的“Json serializer-Deserialize-C#”指的是在C#中使用JSON序列化器进行反序列化操作,即将JSON字符串转换为C#对象的过程。而“litjson”是.NET平台上一个轻量级的JSON库,它提供了简单易用的API来实现这一功能。
在描述中提到了“litjson包”,这是C#中一个用于处理JSON数据的开源库,它的主要特点是小巧、快速,且无需额外安装,可以直接引入到项目中。litjson-0.18.0是该库的一个版本号,通常随着版本的更新,库的功能会得到增强,错误也会得到修复。
使用litjson进行反序列化,首先需要引入litjson命名空间:
```csharp
using litjson;
```
然后,我们可以使用JsonMapper类提供的方法将JSON字符串转化为C#对象。例如,有一个简单的JSON字符串:
```json
{
"name": "John",
"age": 30,
"city": "New York"
}
```
可以使用以下代码进行反序列化:
```csharp
public class Person
{
public string name { get; set; }
public int age { get; set; }
public string city { get; set; }
}
string jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
Person person = JsonMapper.ToObject<Person>(jsonString);
```
在上面的示例中,`JsonMapper.ToObject<T>`方法会将JSON字符串解析为T类型的实例。这里的T代表了我们希望反序列化的目标类型,如这里的Person类。
litjson也支持反序列化到动态对象,例如:
```csharp
dynamic jsonObject = JsonMapper.ToObject(jsonString);
string name = jsonObject.name;
int age = jsonObject.age;
string city = jsonObject.city;
```
此外,litjson还提供了JsonWriter和JsonReader类,用于生成和解析JSON文本。它们可以作为更底层的接口,以实现自定义的序列化和反序列化逻辑。
总结一下,litjson是一个用于C#的JSON处理库,它提供了一种简单的方法来进行JSON的反序列化。通过JsonMapper类,我们可以轻松地将JSON字符串转换为C#对象,同时支持反序列化到预定义的类或动态对象。这个库对于处理JSON数据的C#应用来说是一个实用的选择,尤其是在对性能和资源占用有较高要求的场景下。
小窝我的爱
- 粉丝: 58
- 资源: 3
最新资源
- 基于树莓派与百度智能云的人脸识别打卡系统(Qt开发,含接口调用,可作毕设).zip
- 基于SpringBoot等技术的仓储服务管理系统+设计报告(含SSM、Redis等).zip
- 毕业设计基于SpringBoot和MySQL的小学生口算练习与测评系统+论文报告.zip
- 基于C++的机房资源预约管理系统源码+报告文档(课程设计团队项目).zip
- 基于python机器学习的猫狗识别分类项目源码(含源码、说明与论文).zip
- 基于联邦深度强化学习的无人驾驶决策控制系统(Python源码及说明).zip
- 2024新开发基于机器学习的Android恶意代码检测项目(含说明与源码).zip
- 基于 FISCOBCOS 与 Paillier 同态加密的匿名投票案例(含源码与说明).zip
- 毕业设计基于深度学习卷积神经网络的图像分类GUI界面项目(含源码与说明).zip
- 基于深度学习的Landsat影像分类算法及源码(含设计文档+项目说明).zip
- 期末课设基于机器学习的股票预测实战算法(含项目说明,含python源码).zip
- 毕设基于QT和sqlite3的大二背单词辅助系统开发(含完整源码+全部资料).zip
- 基于FPGA的简易神经网络加速器设计-最新开发(含源码及全部资料).zip
- 软件杯获奖作品-林业有害生物智能识别-(含全部参赛源码及资料).zip
- 2024毕设:基于YOLOv5与 PyQt5 的人脸表情识别系统(含源码与说明).zip
- 基于C++和QT的OSM地图数据解析与导航系统(含完整源码+设计报告).zip