排序字符串,所以我可以使用它与LINQ



我有一个像这样的文本字符串,它可以更大。同一个UserID可以出现多次。

[{"标识":"400","用户名":"john doe"、"GroupID":"11","GroupName":"失踪","钱":" 2300 "},{"标识":"500","用户名":"乔恩doe"、"GroupID":"12","GroupName":"失踪","钱":" 2400 "},{"标识":"600","用户名":"珍doe"、"GroupID":"13"、"GroupName":"失踪","钱":" 1100 "},{"标识":"400","用户名":"john doe"、"GroupID":"11","GroupName":"失踪","钱":" 1400 "})

我想把这个排序一下,这样可以问LINQ关于它的问题。

类似于所有UserID的钱的总和,UserID的钱和用户名的总和。

我应该把它放在一个类中吗?或者最好的方法是什么?

我应该把它放在一个类中吗?或者最好的方法是什么?

  1. 这可能是你想要做的第一步。
  2. 下一步可能是将JSON转换为你的类
  3. 对结果进行排序和分组
  4. 启动应用程序逻辑,如求和等

如果您要经常处理这些对象,那么我肯定会创建类来表示它们,以便更容易反序列化JSON字符串。如果没有,那你可以快速地滚一些脏东西。无论哪种方式,我想你都会想要使用Json。网库;这会让你的生活更轻松。通过在包管理器控制台中运行以下命令将其安装到项目中:

Install-Package Newtonsoft.Json

对于快速和肮脏的解决方案,给定一个名为json的字符串,您可以这样做:

Newtonsoft.Json.Linq           // Namespace
.JArray                        // Class
.Parse(json)                   // Static method to parse string into a JArray
.Select(x => new               // Select anonymous types
{
    UserId = x["UserID"],
    Username = x["username"],
    GroupId = x["GroupID"],
    GroupName = x["GroupName"],
    Money = x["Money"],
})
.GroupBy(x => x.UserId)        // Group by user id.
.ContinueWithRemainingQuery();

相关内容

  • 没有找到相关文章

最新更新