SkinnyJson 2.0.2
See the version list below for details.
dotnet add package SkinnyJson --version 2.0.2
NuGet\Install-Package SkinnyJson -Version 2.0.2
<PackageReference Include="SkinnyJson" Version="2.0.2" />
paket add SkinnyJson --version 2.0.2
#r "nuget: SkinnyJson, 2.0.2"
// Install SkinnyJson as a Cake Addin #addin nuget:?package=SkinnyJson&version=2.0.2 // Install SkinnyJson as a Cake Tool #tool nuget:?package=SkinnyJson&version=2.0.2
SkinnyJson
Based on FastJson: https://github.com/mgholam/fastJSON
Nuget:
- Default: https://www.nuget.org/packages/SkinnyJson/
- Strong-named: https://www.nuget.org/packages/SkinnyJson/
The default is usually ahead of the strong-named version. If you need an updated version of the Strong-Named package, please open a Github issue.
SkinnyJson has a simple interface, and handles interface based serialisation better than most other .Net json libraries. SkinnyJson was designed to handle Event Store messages, and is tuned to deal with situations where a common interface declaration is available, but the original serialised objects/types are not available.
To adjust settings globally, look in SkinnyJson.Json.DefaultParameters
Common use cases:
Deserialise a known type:
IMyInterface values = Json.Defrost<IMyInterface>(jsonString);
Serialise any object to JSON:
string jsonString = Json.Freeze(myObject);
Pretty print a JSON string: (there is also a streaming version for very large files)
var newString = Json.Beautify(oldString);
Create a deep copy of an object:
var newObject = Json.Clone(oldObject);
Deserialise to a dynamic type for unknown schemas:
dynamic obj = Json.DefrostDynamic(jsonString);
Console.WriteLine(obj.MyProperty.MyArray[4].Prop2()); // use `()` to read a value.
var missing = obj.NotHere.child.grandchild(); // results in null. Dynamic does null propagation.
obj.MyProperty.other = "hello"; // can update properties
var updatedJson = Json.Freeze(obj); // and serialise the result
Inline editing:
string newJson = Json.Edit(oldJson, d => {
d.myProperty.updated = true;
d.info.updates[0].dateTime = DateTime.Now.ToString();
});
See the test cases for deeper examples
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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SkinnyJson:
Package | Downloads |
---|---|
BearBonesMessaging
BearBones messaging: lower-level framework, part of a contract-interface based distributed event framework for .Net |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.6 | 341 | 8/2/2024 |
3.0.5 | 263 | 7/26/2024 |
3.0.4 | 51 | 7/26/2024 |
3.0.3 | 299 | 6/29/2024 |
3.0.2 | 652 | 6/27/2024 |
3.0.1 | 223 | 6/14/2024 |
3.0.0 | 109 | 6/13/2024 |
2.8.5 | 244 | 5/22/2024 |
2.8.4 | 113 | 5/13/2024 |
2.8.3 | 2,097 | 4/22/2024 |
2.8.2 | 104 | 4/19/2024 |
2.8.1 | 446 | 2/27/2024 |
2.8.0 | 757 | 2/8/2024 |
2.7.5 | 250 | 7/10/2023 |
2.7.0 | 162 | 7/4/2023 |
2.6.0 | 154 | 6/22/2023 |
2.5.0 | 174 | 5/19/2023 |
2.4.2 | 256 | 3/13/2023 |
2.4.1 | 300 | 12/13/2022 |
2.4.0 | 304 | 12/13/2022 |
2.3.0 | 278 | 12/12/2022 |
2.2.3 | 466 | 9/5/2022 |
2.2.2 | 415 | 9/2/2022 |
2.2.1 | 419 | 9/2/2022 |
2.1.1 | 4,717 | 5/30/2022 |
2.1.0 | 506 | 3/7/2022 |
2.0.3 | 477 | 3/4/2022 |
2.0.2 | 426 | 5/24/2021 |
2.0.1 | 399 | 5/17/2021 |
2.0.0 | 3,299 | 12/1/2020 |
1.8.0 | 533 | 11/3/2020 |
1.7.0 | 1,646 | 7/3/2019 |
1.6.9 | 1,619 | 5/22/2019 |
1.6.8 | 1,196 | 5/22/2019 |
1.6.5 | 4,535 | 1/10/2019 |
1.6.4 | 737 | 1/10/2019 |
1.6.3 | 2,231 | 12/13/2018 |
1.6.2 | 769 | 11/24/2018 |
1.6.1 | 786 | 11/23/2018 |
1.6.0 | 758 | 11/23/2018 |
1.5.5 | 777 | 11/7/2018 |
1.5.0 | 862 | 8/24/2018 |
1.4.0 | 890 | 8/24/2018 |
1.3.2 | 861 | 8/14/2018 |
1.3.1 | 903 | 8/14/2018 |
1.3.0 | 952 | 7/25/2018 |
1.2.0 | 895 | 7/23/2018 |
1.0.3 | 1,021 | 6/27/2018 |
1.0.2 | 1,435 | 8/26/2014 |
1.0.1 | 1,092 | 8/20/2014 |
1.0.0 | 1,101 | 8/20/2014 |
Fix fallback process