以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  我想对Jarray进行排序  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158535)

--  作者:有点蓝
--  发布时间:2020/11/23 17:37:00
--  
找不到简单方法

Dim json As String  = "[{\'Name\' : \'Jack\', \'Age\' : 34}, {\'Name\' : \'Tomas\', \'Age\' : 26}, {\'Name\' : \'Allen\', \'Age\' : 50}]"
Dim ja = JArray.Parse(json)

Dim d As new sortedDictionary(of Integer,object)
Dim ja2 As new JArray

For Each j As JToken In ja
    d.add(j("Age"),j)
Next

For Each v As object In d.values
ja2.Add(v)
Next

Output.Show(ja2.ToString)


--  作者:有点蓝
--  发布时间:2020/11/24 9:28:00
--  
改为年龄+姓名
--  作者:逛逛
--  发布时间:2020/11/24 10:12:00
--  
Dim json As String  = "[{\'Name\' : \'Jack\', \'Age\' : 34}, {\'Name\' : \'Tomas\', \'Age\' : 26}, {\'Name\' : \'Allen\', \'Age\' : 50}]"
Dim ja As JArray = JArray.Parse(json)
Dim sortarray  = new JArray(ja.OrderBy(Function(x) x("Age")))
Output.Show(sortarray.Tostring)

--  作者:有点蓝
--  发布时间:2020/11/24 10:47:00
--  
以下是引用逛逛在2020/11/24 10:12:00的发言:
Dim json As String  = "[{\'Name\' : \'Jack\', \'Age\' : 34}, {\'Name\' : \'Tomas\', \'Age\' : 26}, {\'Name\' : \'Allen\', \'Age\' : 50}]"
Dim ja As JArray = JArray.Parse(json)
Dim sortarray  = new JArray(ja.OrderBy(Function(x) x("Age")))
Output.Show(sortarray.Tostring)

奇怪,我昨天测试提示找不到OrderBy函数,以为不支持。
--  作者:chen37280600
--  发布时间:2020/11/24 10:53:00
--  
好东西!mark一下
--  作者:逛逛
--  发布时间:2020/11/24 11:43:00
--  
以下是引用有点蓝在2020/11/24 10:47:00的发言:

奇怪,我昨天测试提示找不到OrderBy函数,以为不支持。


狐表的编辑器,类型最好写上。否则一推断,老出错。


--  作者:有点蓝
--  发布时间:2020/11/24 11:51:00
--  
以下是引用逛逛在2020/11/24 11:43:00的发言:

狐表的编辑器,类型最好写上。否则一推断,老出错。

确实是这个问题,谢谢提醒。
--  作者:有点蓝
--  发布时间:2020/11/24 13:43:00
--  
OrderBy改为OrderByDescending