Разбор вложенного json и возврат значений в виде строки[]

#c# #json #json.net

#c# #json #json.net

Вопрос:

Можете ли вы помочь мне проанализировать значения в атрибуте ‘realEstateProperties’ (например, серийный номер и economyType.value). Вот часть файла json:

 {
    "Entity1": {
        "id": "5f514d20744a1fb",
        "realEstateProperties": [
            {
                "serialNumber": "11",
                "cadastralSections": [
                    {
                        "id": "5f514dc11a1e3",
                        "economyType": {
                            "value": "landRegisterPage.type",
                        }
                    }
                ],
                "landRegisterPage": {
                    "id": "3456",
                    "landRegisterBook": {
                        "abbreviation": null
                    },
                    "note": "LRP",
                    "tags": null
                },
                "propertyTextBlock": null
            }
        ],
        "customFields": [],
 

Вот что у меня сейчас есть:

         public static string[] GetJsonValues(string jsonProperty)
        {
            testCaseName = "Entity1";
            
            FixtureIncident.Root incObject = new FixtureIncident.Root();
            incObject = LoadJSONFile();
            JObject incJson = JObject.FromObject(incObject);
            var attributes = incJson[testCaseName].ToList<JToken>();
            
            var property = attributes.Find(i => i.ToObject<JProperty>().Name == jsonProperty) as JArray;   //returns property=null
            
            string[] Properties = property.ToObject<string[]>();

            return Properties;
        }
 

свойство возвращает null, и я не уверен, как это исправить.
Мне нужно сохранить все значения realEstateProperties в строке[].

Я нашел несколько похожих тем, но я не смог настроить свой код, поэтому я заставляю его работать. Заранее спасибо за вашу помощь.

Комментарии:

1. Привет и добро пожаловать в SO! Вы убедились, что ваш json файл действителен, прежде чем пытаться его проанализировать ? Другой вопрос, почему бы не создать классы, которые представляют ваши json , а затем десериализовать в эти классы?

2. Спасибо! 🙂 Да, файл действителен, я проанализировал такие значения, как ‘id’ (на первом уровне), но я не уверен, как проникнуть глубже в уровни.

3. Что вы имеете в виду, говоря, что мне нужно сохранить все значения realEstateProperties в строке []? — Сохранить все имена свойств в строке или все значения всех свойств? Можете ли вы показать желаемый результат?