首页 > 解决方案 > 使用嵌套循环比较 2 json

问题描述

我有 2 个 json 文件。
我首先得到 api 响应:

{
    "result": [
        {
            "name": "bonus",
            "currency": [
                2,
                5
            ],
            "max_sum": [
                30000,
                350       
            ],
            "provider": "1"
        },
        {
            "name": "extra",
            "currency": [
                2,
                5
            ],
            "max_sum": [
                20000,
                220
            ],
            "provider": "2"
        }

我用 EF 从 DB 获得的第二个:

{
  "CurrencyList": [
    {
      "Id": 2,
      "MaxSum": 30000.0
    },
    {
      "Id": 5,
      "MaxSum": 350.0
    },
  ],
{
  "CurrencyList": [
    {
      "Id": 2,
      "MaxSum": 20000.0
    },
    {
      "Id": 5,
      "MaxSum": 220.0
    }
  ]
}

第一个文件中的货币值 = 第二个文件中的 ID。
我需要比较这些文件。
我试着做:

for (var i = 0; i < content["result"].Count(); i++)
            {
                for (var j = 0; j < content["result"]?[i]?["currency"].Count(); j++)
                {
                    AssertAreEqual((int) content["result"]?[i]?["currency"]?[j], (int)promoParamsInJson["CurrencyList"]?[j]?["Id"]); 
              
                    AssertAreEqual((int) content["result"]?[i]?["max_sum"]?[j], (int) promoParamsInJson["CurrencyList"]?[j]["MaxSum"]);
                }
            }

但我总是得到第二个文件值。
如何正确比较这些文件?
谢谢!

标签: c#

解决方案


推荐阅读