Системный текст Json читает один объект из массива объектов - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь использовать новую Системную текстовую библиотеку Json для чтения одного объекта из моего массива json. Мой JSON выглядит так:

[
  {
    "Id": "test1",
    "Version": "16.0.461",
  },
  {
    "Id": "test2",
    "Version": "2.1.0",
  }
]

Это всего лишь пример. Один объект Json на самом деле имеет около 12 свойств. Но предположим, что в c # есть класс, который выглядит следующим образом:

     public class Data
     {
            public string Id { set; get; }
            public string Version { set; get; }
     }

, и я хотел бы просто получить пакет, в котором id соответствует данному namen, который я пробовал следующим образом:

    private static ObjectData GetSingleData(string jsonString, string objectName)
    {
                var options = new JsonDocumentOptions
                {
                    AllowTrailingCommas = true
                };

                using (JsonDocument document = JsonDocument.Parse(jsonString, options))
                {
                    ArrayEnumerator arrayEnumerator = document.RootElement.EnumerateArray();
                    //ObjectEnumerator objectEnumerator1 = document.RootElement.EnumerateObject();
                    while (arrayEnumerator.MoveNext())
                    {
                        JsonElement current = arrayEnumerator.Current;
                        if (objectName.Equals(current.GetProperty("id"))) 
                        {
                            //here the conversion from current to object should happen, but I don't know how                      
                        }
                    }
                }

                return null;
     }

есть ли возможность преобразовать JsonElement в экземпляр моего Data Class?

...