C#针对json串中的key进行ascii升序
时间: 2023-08-01 09:07:12 浏览: 80
在C#中,可以使用`Newtonsoft.Json`库来对JSON字符串中的键进行ASCII升序排序。具体步骤如下:
1. 将JSON字符串反序列化为`JObject`对象:
```
JObject jsonObj = JObject.Parse(jsonStr);
```
2. 使用LINQ查询获取所有的键,并按照ASCII码进行升序排序:
```
var sortedKeys = jsonObj.Properties().OrderBy(p => p.Name, StringComparer.Ordinal).Select(p => p.Name);
```
这里使用了`StringComparer.Ordinal`来指定按照ASCII码进行排序。
3. 遍历排好序的键,获取相应的值:
```
foreach (var key in sortedKeys)
{
var value = jsonObj[key];
// do something with key and value
}
```
完整示例代码如下:
```
using Newtonsoft.Json.Linq;
using System;
using System.Linq;
namespace JsonSort
{
class Program
{
static void Main(string[] args)
{
string jsonStr = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
JObject jsonObj = JObject.Parse(jsonStr);
var sortedKeys = jsonObj.Properties().OrderBy(p => p.Name, StringComparer.Ordinal).Select(p => p.Name);
foreach (var key in sortedKeys)
{
var value = jsonObj[key];
Console.WriteLine($"{key}: {value}");
}
Console.ReadKey();
}
}
}
```
输出结果:
```
age: 30
city: New York
name: John
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)