当前位置:首页>开发>正文

json数据排序问题 c# 对json串排序

2024-01-03 16:17:43 互联网 未知 开发

 json数据排序问题 c# 对json串排序

json数据排序问题

你写错了。
function sortJson(json,key){ 
for (var i = 0 i < json.length i ) {
for (var j = 0 j < json.length-1 j ) {
if (json[j][key]>json[j 1][key]) {
var temp=json[j]
json[j]=json[j 1]
json[j 1]=temp
}
}
}
return json
}第2个循环里面的是json.length-1,不是json.length-i。
willSort集合的长度是
外循环第一次循环:i=0;内循环的length=5.
当内循环执行第4次时,j=3,那:
json[j][key]获取到的就是下标为4个对象,也就是最后一个对象,json[j 1][key]获取的是下标为5的对象。而集合willSort集合最大下标才是4.所以当外循环第一次循环,内循环地4次循环时,才会报错

c# 对json串排序

using Newtonsoft.Json
public class Test {
public int id {setget}
public string name {setget}
}

Newtonsoft.Json 使用第三方类库将传入的Json字符串反序列化成实体类。

List<Test> dataList = JsonConvert.DeserializeObject <List<Test>( 你那个json 字符串 )

然后 linq 排序
dataList = dataList.OrderBy(p=>p.id).ToList()

最后 c# 转化为 json 字符.
string result = JsonConvert.SerializeObject(dataList )

最新文章