Sorting JArray in C# with Newtonsoft.Json
By Tan Lee Published on Jan 09, 2025 485
Although you can't directly sort a JArray in C#, you can work around this limitation.
If your JArray consists of simple data types like numbers or strings, you can convert the JArray into a list, sort that list, and then convert it back into a JArray.
For example, let’s consider the following JSON array of numbers:
[5, 3, 8, 1, 7]
We want to sort this array in ascending order.
// Setting up the test data JArray jArray = new JArray(); jArray.Add(5); jArray.Add(3); jArray.Add(8); jArray.Add(1); jArray.Add(7); // Converting JArray to List and sorting List<int> numbers = jArray.ToObject<List<int>>(); numbers.Sort(); jArray = JArray.FromObject(numbers); // Output the sorted result foreach (var item in jArray) { Console.WriteLine(item); }
In this example:
- First, the
JArray
is converted to a strongly typed list of integers. - The list is then sorted in ascending order.
- Finally, the sorted list is converted back into a
JArray
.
Output:
1 3 5 7 8
Categories
Popular Posts
Structured Data using FoxLearn.JsonLd
Jun 20, 2025
Implement security headers for an ASP.NET Core
Jun 24, 2025
10 Common Mistakes ASP.NET Developers Should Avoid
Dec 16, 2024
HTML Bootstrap 4 Login, Register & Reset Template
Nov 11, 2024