从 json 文件中获取标签名称作为类中的变量

Posted

技术标签:

【中文标题】从 json 文件中获取标签名称作为类中的变量【英文标题】:Get tags names from json file as a variable in a class 【发布时间】:2018-06-19 09:26:05 【问题描述】:

我正在使用 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 并能够编辑和导出的方式公开声明。

谢谢

【问题讨论】:

不太清楚我是否理解这个问题,什么是标签? JSON对象的属性?所以 JSON 可以是任何形式? 尝试使用 ExpandoObject 构建一个对象,以便在运行时即时使用。 我不清楚你到底想做什么,但如果你想能够解析和操作任意 JSON,你可能想要使用 Json.Net 的 LINQ-to-JSON API (JTokens 、JObjects 等)。 【参考方案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);

【讨论】:

【参考方案2】:

你可以像这样使用JsonConvert:

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

阅读 JsonConvert 的文档了解更多信息。

【讨论】:

这并不能真正回答所提出的问题。

以上是关于从 json 文件中获取标签名称作为类中的变量的主要内容,如果未能解决你的问题,请参考以下文章

从UITableViewCell类中获取UITextView中的hashtag后尝试进行segue

如何从列表“StandardListItem”中的 JSON 文件中的元素“名称”中获取所有值?

从 UITableViewController 中的选定行获取选定的标签文本

从 C# 中的属性获取图像 URL

我如何从多个标签中获取多个数据,并将它们作为 json 存储在 javascript、jquery 中

我如何使用从表单中获得的值作为我的 dao 类中的变量?