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嵌套排序并取第一个对象的更多相关文章

  1. c# 对List<T> 某字段排序,取TOP条数据

    //排序的对象里的字段数据准备 try { cmr.v4 = Double.Parse(cmr.v3) - Double.Parse(cmr.v2); } catch (Exception e) { ...

  2. 使用dataframe解决spark TopN问题:分组、排序、取TopN和join相关问题

    package com.profile.mainimport org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.fu ...

  3. Mysql分片后分页排序拉取数据的方法

    高并发大流量的互联网架构,一般通过服务层来访问数据库,随着数据量的增大,数据库需要进行水平切分,分库后将数据分布到不同的数据库实例(甚至物理机器)上,以达到降低数据量,增加实例数的扩容目的. 一旦涉及 ...

  4. MySQL分组排序(取第一或最后)

    MySQL分组排序(取第一或最后) 方法一:速度非常慢,跑了30分钟 SELECT custid, apply_date, rejectrule FROM ( SELECT *, IF ( , ) A ...

  5. MYSQL实现分组排序并取组内第一条数据

    一.需要实现分组排序并且取组内状态优先级最高的数据 有一张这样的数据表, 需求是根据error_type分组然后取status最小的第一条数据 第一种写法: select t.* from ( sel ...

  6. list<实体类>互相嵌套和前台取值问题

    list<实体类>嵌套list<实体类>,必须保证嵌套的实体类里面有这个list对象,把这个list<实体类>当做一个对象 这是需要解析的数据,并把这些数据封装成l ...

  7. freemarker list (长度,遍历,下标,嵌套,排序)

    1. freemarker获取list的size : Java ArrayList<String> list = new ArrayList<String>(); Freema ...

  8. LINQ对List列表随机排序,取N条数据

    List<Art_Search> artList=new List<Art_Search>(); artList=artList.OrderBy(s => Guid.Ne ...

  9. JAVA List根据字段排序以及取前几条数据

    1.经常会遇到对组装的list排序或提取list中前几条数据,例如: 根据时间排序: list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1. ...

  10. c# linq lambda 去重,排序,取最高纪录。

    ----------------------------------------------------.对基础类型排序 方法一: 调用sort方法,如果需要降序,进行反转: List<int& ...

随机推荐

  1. activiti引擎的表结构(仅记录用)

    act_hi_*:'hi'表示 history,此前缀的表包含历史数据,如历史(结束)流程实例,变量,任务等等.act_ge_*:'ge'表示 general,此前缀的表为全局通用数据,用于不同场景中 ...

  2. flask-script的简单使用

    1.Flask-Script介绍Flask-Script的作用是可以通过命令行的形式来操作Flask.Flask Script扩展提供向Flask插入外部脚本的功能,包括运行一个开发用的服务器,一个定 ...

  3. QT网络编程【二】【Socket】

    1.QT中添加socket 库的相关操作 2.正常c++11 VS2019使用socket库的操作 3.winsock2 与 sys/socket.h的区别? 4.WinSock2 的基本操作? 详细 ...

  4. TortoiseGit自动保存用户名和密码

    在使用TortoiseGit上传时,会多次提示输入用户名和密码,采用以下方法解决 1.桌面点击右键 -> 选择TortoiseGit -> 点击settings 2.点击选择Git 3.点 ...

  5. Git 小技巧:忽略某些文件的更改

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/dp9Mwq7vf0ASF_FftBN8Ww 作为一枚合格的代码贡献 ...

  6. 给c++写python的split()与input()【python一样写c++、一】

    python的split确实是很香的功能. 写c++的时候,就会想着,要是能直接input().split()那不挺好. 实际上真的可以:自己动手,丰衣足食. 先放成品展示. int main(){ ...

  7. sql处理重复的列,更好理清分组和分区

    一.分组统计.分区排名 1.语法和含义: 如果查询结果看得有疑惑,看第二部分-sql处理重复的列,更好理清分组和分区,有建表插入数据的sql语句 分组统计:GROUP BY 结合 统计/聚合函数一起使 ...

  8. ASP.NET Core - 配置系统之自定义配置提供程序

    4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口 ...

  9. 对于MyBatis的模糊查询的实现+文本框、单选框以及复选框的数据回显的实现

    MyBatis的模糊查询sql语句与之前使用的不太一样 主要是利用下面这种语句实现的(查了好久的,认真记一下吧!) select * from huodong where theme like con ...

  10. 万字血书Vue—Vue语法

    模板语法 插值语法 Mustache插值采用{{ }},用于解析标签体内容,将Vue实例中的数据插入DOM中 <h1>Hello {{name}}</h1> 指令语法 指令用于 ...