List嵌套排序并取第一个对象
using Newtonsoft.Json;
using 嵌套List排序;
//示例list
var exampleString =
"{\"code\":1,\"msg\":\"[OK]AI诊断成功!\",\"diagnoseJson\":{\"disease\":{\"zhongda\":[[\"胆癌(胆囊癌胆总管癌胆囊肉瘤)\",0.00012]],\"changjian\":[[\"肝痞(脂肪肝)\",0.00365],[\"肝瘤(肝内囊肿、肝血管瘤)\",0.00064],[\"胆瘅(急性胆囊炎)\",0.01004]]}}}";
//需求根据diagnoseJson 中 changjian 中的数字进行排序取第一个对象
//将示例字符串转换为对象
var exampList = JsonConvert.DeserializeObject<ExampleDto>(exampleString);
//判断转换是否为空
if (exampList != null)
{
//排序并取出第一个对象list
var changjianList = exampList.diagnoseJson.disease.changjian.OrderByDescending(lst => lst[1]).FirstOrDefault();
//判断list不为空
if (changjianList != null)
{
//取出排序后第一个
var changjian = changjianList[0];
//输出
Console.WriteLine(changjian);
}
}
Console.ReadKey();
ExampleDto 类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 嵌套List排序
{
//如果好用,请收藏地址,帮忙分享。
public class Disease
{
/// <summary>
///
/// </summary>
public List<List<string>> zhongda { get; set; }
/// <summary>
///
/// </summary>
public List<List<string>> changjian { get; set; }
}
public class DiagnoseJson
{
/// <summary>
///
/// </summary>
public Disease disease { get; set; }
}
public class ExampleDto
{
/// <summary>
///
/// </summary>
public int code { get; set; }
/// <summary>
/// [OK]AI诊断成功!
/// </summary>
public string msg { get; set; }
/// <summary>
///
/// </summary>
public DiagnoseJson diagnoseJson { get; set; }
}
}
List嵌套排序并取第一个对象的更多相关文章
- c# 对List<T> 某字段排序,取TOP条数据
//排序的对象里的字段数据准备 try { cmr.v4 = Double.Parse(cmr.v3) - Double.Parse(cmr.v2); } catch (Exception e) { ...
- 使用dataframe解决spark TopN问题:分组、排序、取TopN和join相关问题
package com.profile.mainimport org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.fu ...
- Mysql分片后分页排序拉取数据的方法
高并发大流量的互联网架构,一般通过服务层来访问数据库,随着数据量的增大,数据库需要进行水平切分,分库后将数据分布到不同的数据库实例(甚至物理机器)上,以达到降低数据量,增加实例数的扩容目的. 一旦涉及 ...
- MySQL分组排序(取第一或最后)
MySQL分组排序(取第一或最后) 方法一:速度非常慢,跑了30分钟 SELECT custid, apply_date, rejectrule FROM ( SELECT *, IF ( , ) A ...
- MYSQL实现分组排序并取组内第一条数据
一.需要实现分组排序并且取组内状态优先级最高的数据 有一张这样的数据表, 需求是根据error_type分组然后取status最小的第一条数据 第一种写法: select t.* from ( sel ...
- list<实体类>互相嵌套和前台取值问题
list<实体类>嵌套list<实体类>,必须保证嵌套的实体类里面有这个list对象,把这个list<实体类>当做一个对象 这是需要解析的数据,并把这些数据封装成l ...
- freemarker list (长度,遍历,下标,嵌套,排序)
1. freemarker获取list的size : Java ArrayList<String> list = new ArrayList<String>(); Freema ...
- LINQ对List列表随机排序,取N条数据
List<Art_Search> artList=new List<Art_Search>(); artList=artList.OrderBy(s => Guid.Ne ...
- JAVA List根据字段排序以及取前几条数据
1.经常会遇到对组装的list排序或提取list中前几条数据,例如: 根据时间排序: list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1. ...
- c# linq lambda 去重,排序,取最高纪录。
----------------------------------------------------.对基础类型排序 方法一: 调用sort方法,如果需要降序,进行反转: List<int& ...
随机推荐
- activiti引擎的表结构(仅记录用)
act_hi_*:'hi'表示 history,此前缀的表包含历史数据,如历史(结束)流程实例,变量,任务等等.act_ge_*:'ge'表示 general,此前缀的表为全局通用数据,用于不同场景中 ...
- flask-script的简单使用
1.Flask-Script介绍Flask-Script的作用是可以通过命令行的形式来操作Flask.Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定 ...
- QT网络编程【二】【Socket】
1.QT中添加socket 库的相关操作 2.正常c++11 VS2019使用socket库的操作 3.winsock2 与 sys/socket.h的区别? 4.WinSock2 的基本操作? 详细 ...
- TortoiseGit自动保存用户名和密码
在使用TortoiseGit上传时,会多次提示输入用户名和密码,采用以下方法解决 1.桌面点击右键 -> 选择TortoiseGit -> 点击settings 2.点击选择Git 3.点 ...
- Git 小技巧:忽略某些文件的更改
*以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/dp9Mwq7vf0ASF_FftBN8Ww 作为一枚合格的代码贡献 ...
- 给c++写python的split()与input()【python一样写c++、一】
python的split确实是很香的功能. 写c++的时候,就会想着,要是能直接input().split()那不挺好. 实际上真的可以:自己动手,丰衣足食. 先放成品展示. int main(){ ...
- sql处理重复的列,更好理清分组和分区
一.分组统计.分区排名 1.语法和含义: 如果查询结果看得有疑惑,看第二部分-sql处理重复的列,更好理清分组和分区,有建表插入数据的sql语句 分组统计:GROUP BY 结合 统计/聚合函数一起使 ...
- ASP.NET Core - 配置系统之自定义配置提供程序
4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口 ...
- 对于MyBatis的模糊查询的实现+文本框、单选框以及复选框的数据回显的实现
MyBatis的模糊查询sql语句与之前使用的不太一样 主要是利用下面这种语句实现的(查了好久的,认真记一下吧!) select * from huodong where theme like con ...
- 万字血书Vue—Vue语法
模板语法 插值语法 Mustache插值采用{{ }},用于解析标签体内容,将Vue实例中的数据插入DOM中 <h1>Hello {{name}}</h1> 指令语法 指令用于 ...