从 JSON 数组中查找最大值

Jib*_*hew 2 c# json json.net

我有一个这样的 JSON

    {
    "name": "Reporta",
    "assignments": [
        {
          "person_id": 638020,
          "hours_logged": 25.5
        },
        {
          "person_id": 638020,
          "hours_logged": 35.5
        }
    ]
    }
Run Code Online (Sandbox Code Playgroud)

我必须从assignments数组中找到第一个人id,然后我按照这个代码

    JObject lp_ask = JObject.Parse(response_json);
    int assignee = (int)lp_ask["assignments"][0]["person_id"];   
Run Code Online (Sandbox Code Playgroud)

但是现在我必须找到从数组中记录最大小时数的 person_id。我可以做一个 foreach 循环,然后可以找到最大值,但是否有任何直接选项可用

Evk*_*Evk 5

最好的方法是反序列化为一组静态类,但如果您不想或不能这样做 - 您也可以查询原始 JSON:

var person = lp_ask["assignments"]
    .OrderByDescending(c => c["hours_logged"].Value<double>())        
    .Select(c => c["person_id"].Value<int>())
    .First();
Run Code Online (Sandbox Code Playgroud)