72 lines
1.9 KiB
Markdown
72 lines
1.9 KiB
Markdown
#  Json.NET
|
|
|
|
[](https://www.nuget.org/packages/Newtonsoft.Json/)
|
|
[](https://dev.azure.com/jamesnk/Public/_build/latest?definitionId=8)
|
|
|
|
Json.NET is a popular high-performance JSON framework for .NET
|
|
|
|
## Serialize JSON
|
|
|
|
```csharp
|
|
Product product = new Product();
|
|
product.Name = "Apple";
|
|
product.Expiry = new DateTime(2008, 12, 28);
|
|
product.Sizes = new string[] { "Small" };
|
|
|
|
string json = JsonConvert.SerializeObject(product);
|
|
// {
|
|
// "Name": "Apple",
|
|
// "Expiry": "2008-12-28T00:00:00",
|
|
// "Sizes": [
|
|
// "Small"
|
|
// ]
|
|
// }
|
|
```
|
|
|
|
## Deserialize JSON
|
|
|
|
```csharp
|
|
string json = @"{
|
|
'Name': 'Bad Boys',
|
|
'ReleaseDate': '1995-4-7T00:00:00',
|
|
'Genres': [
|
|
'Action',
|
|
'Comedy'
|
|
]
|
|
}";
|
|
|
|
Movie m = JsonConvert.DeserializeObject<Movie>(json);
|
|
|
|
string name = m.Name;
|
|
// Bad Boys
|
|
```
|
|
|
|
## LINQ to JSON
|
|
|
|
```csharp
|
|
JArray array = new JArray();
|
|
array.Add("Manual text");
|
|
array.Add(new DateTime(2000, 5, 23));
|
|
|
|
JObject o = new JObject();
|
|
o["MyArray"] = array;
|
|
|
|
string json = o.ToString();
|
|
// {
|
|
// "MyArray": [
|
|
// "Manual text",
|
|
// "2000-05-23T00:00:00"
|
|
// ]
|
|
// }
|
|
```
|
|
|
|
## Links
|
|
|
|
- [Homepage](https://www.newtonsoft.com/json)
|
|
- [Documentation](https://www.newtonsoft.com/json/help)
|
|
- [NuGet Package](https://www.nuget.org/packages/Newtonsoft.Json)
|
|
- [Release Notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
|
|
- [Contributing Guidelines](https://github.com/JamesNK/Newtonsoft.Json/blob/master/CONTRIBUTING.md)
|
|
- [License](https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md)
|
|
- [Stack Overflow](https://stackoverflow.com/questions/tagged/json.net)
|