Консольное приложение - получить значения в объекте - PullRequest
0 голосов
/ 11 марта 2020

Я не могу получить значения в объекте. Я хочу получить значения AEVL2020 или AEVL2021 в объекте 'registers'. Но перед этим я должен выбрать сначала в «устройств», в котором deviceSerialId первый ex. AEVL2020 или AEVL2021, и он вернет значения на основе регистров.

Вот мой json:

{
    "devices": {
        "AEVL2020":{
            "deviceSerialId": "AEVL2020"
        },
        "AEVL2021":{
            "deviceSerialId": "AEVL2021"
        }
    },
    "registers":{
        "AEVL2020":{
            "12":{
                "user_id": "1",
                "employee_id": "12",
                "name": "Juan Dela Cruz"    
            }
        },
        "AEVL2021":{
            "29":{
                "user_id": "1",
                "employee_id": "29",
                "name": "Maria Del Mundo"
            }
        }
    }
}

Когда я ввожу AEVL2021 в консоль, я получаю правильный результат "29": {"user_id": "1", "employee_id": «29», «name»: «Maria Del Mundo»}, но проблема в том, что при вводе AEVL2020 я получаю такой же результат с AEVL2021. Как мне это исправить?

Вот мой c#:

 using (StreamReader r = new StreamReader(item.jsonPathFileName))
                    {
                        string json = r.ReadToEnd();
                          dynamic jsonObject = JObject.Parse(json);
                   var register1 = jsonObject["registers"]["AEVL2020"].ToString();
                   var register2 = jsonObject["registers"]["AEVL2021"].ToString();

                        if (register1 == "AEVL2020")
                        {
                            Console.WriteLine(register1);
                        }
                        else
                        {
                            Console.WriteLine(register2);
                        }
}
...