从json文件中获取标记名称作为类

时间:2018-01-10 08:52:08

标签: c# asp.net json asp.net-mvc-4 asp.net-web-api

我正在使用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 个答案:

答案 0 :(得分:1)

如果您使用JSON.net,您可以将json解析为JObject然后迭代它的属性,但是每个属性值都可以是任何类型的对象,因此您需要以递归方式写入某些内容列出嵌套对象或检查值是否为字符串,只有在等等时才接受它们。

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

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

答案 1 :(得分:-1)

您可以像这样使用JsonConvert

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

阅读JsonConvert的文档以获取更多信息。