Получить имена тегов из файла json как переменную в классе

Я использую C# MVC Я импортирую файл Json из местоположения в Rest API. Для того, чтобы отобразить данные. Программа должна знать название тегов.

Я хотел бы знать, есть ли способ получить теги из файлов в массиве строк и объявить их через программу, а не вводить их вручную.

Current C# Code
public class Person
{
    public int Id { get; set; }
    public int SomeID { get; set; }
    public int Number { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
}

Current Json File:
[{"Id":212,"SomeID":71,"Number":0,"Name":"Mr Jones Mones","Address":"21, street, city"}

Так как упомянуто это кодовые слова хорошо. Но, поскольку я импортирую данные, теги могут содержать различную информацию, и я хотел бы иметь публичное объявление таким образом, чтобы я мог импортировать любой файл в API и иметь возможность редактировать и экспортировать его.

Спасибо

2 ответа

Если вы используете JSON.net, вы можете разобрать JSON в JObject затем итерируйте его свойства следующим образом, однако каждое значение свойства может быть объектом любого типа, поэтому вам нужно записать что-либо в рекурсивно перечисленные вложенные объекты или проверить, являются ли значения строками, и принимать их только в том случае, если они есть и т. д.

var obj = JObject.Parse("{ \"test\": \"test\", \"test1\": \"test1\", \"test2\": \"test2\" }");

foreach (var prop in obj.Properties())
{
    Console.WriteLine(prop.Name);
}

Вы можете использовать JsonConvert следующим образом:

Person person = JsonConvert.DeserializeObject<Person>(jsonString);

Прочитайте документы для JsonConvert для получения дополнительной информации.

Другие вопросы по тегам