Получить имена тегов из файла 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 для получения дополнительной информации.