将 JSON 数据导入 C# 字符串
Getting JSON data into C# strings
所以我正在制作一个应用程序,我需要从 JSON 个文件中动态提取数据。
这是 JSON 文件的片段:
{
"004bb5ee-34ba-484a-924b-31412d898e7e": {
"title": "obj_survivalobject_elevatordoor_left"
},
"00284190-1484-4286-a198-b2ddef768c2e": {
"description": "Adds shock absorption and provides stability. Great for vehicles to prevent them from easily flipping over. This suspension has a lot of bounce, making it ideal for off-road vehicles.",
"title": "Off-Road Suspension 2"
},
"011c1ffd-7146-4e8d-8c18-17247d768ae2": {
"title": "obj_spaceship_wall04"
}
}
文件中还有很多内容。
但我只需要获取标题和该标题的 parent 即可。例如:
Tag: "00284190-1484-4286-a198-b2ddef768c2e"
Name: "Off-Road Suspension 2"
我不想要描述,而且不是所有人都有。
我还将使用 JSON 应用程序 运行 时用户选择的文件。
尝试将您的 Json 文件反序列化为一个集合 (list/dict/etc)。
有关 C# 中序列化和反序列化的详细信息,请参阅 here。
试试这个
var jsonDeserialized = JsonConvert.DeserializeObject<Dictionary<string,Description>>(json);
var list = jsonDeserialized.Select(kvp => new TagName { Tag = kvp.Key,
Name=kvp.Value.title} ).ToList();
var output = JsonConvert.SerializeObject(list);
输出
[{"Tag":"004bb5ee-34ba-484a-924b-31412d898e7e","Name":"obj_survivalobject_elevatordoor_left"},
{"Tag":"00284190-1484-4286-a198-b2ddef768c2e","Name":"Off-Road Suspension 2"},
{"Tag":"011c1ffd-7146-4e8d-8c18-17247d768ae2","Name":"obj_spaceship_wall04"}]
或者这样
foreach (var item in list)
{
Console.WriteLine ( $"Tag : {item.Tag}, Name: {item.Name}");
}
类
public class Description
{
public string description { get; set; }
public string title { get; set; }
}
public class TagName
{
public string Tag { get; set; }
public string Name { get; set; }
}
所以我正在制作一个应用程序,我需要从 JSON 个文件中动态提取数据。
这是 JSON 文件的片段:
{
"004bb5ee-34ba-484a-924b-31412d898e7e": {
"title": "obj_survivalobject_elevatordoor_left"
},
"00284190-1484-4286-a198-b2ddef768c2e": {
"description": "Adds shock absorption and provides stability. Great for vehicles to prevent them from easily flipping over. This suspension has a lot of bounce, making it ideal for off-road vehicles.",
"title": "Off-Road Suspension 2"
},
"011c1ffd-7146-4e8d-8c18-17247d768ae2": {
"title": "obj_spaceship_wall04"
}
}
文件中还有很多内容。 但我只需要获取标题和该标题的 parent 即可。例如:
Tag: "00284190-1484-4286-a198-b2ddef768c2e"
Name: "Off-Road Suspension 2"
我不想要描述,而且不是所有人都有。
我还将使用 JSON 应用程序 运行 时用户选择的文件。
尝试将您的 Json 文件反序列化为一个集合 (list/dict/etc)。
有关 C# 中序列化和反序列化的详细信息,请参阅 here。
试试这个
var jsonDeserialized = JsonConvert.DeserializeObject<Dictionary<string,Description>>(json);
var list = jsonDeserialized.Select(kvp => new TagName { Tag = kvp.Key,
Name=kvp.Value.title} ).ToList();
var output = JsonConvert.SerializeObject(list);
输出
[{"Tag":"004bb5ee-34ba-484a-924b-31412d898e7e","Name":"obj_survivalobject_elevatordoor_left"},
{"Tag":"00284190-1484-4286-a198-b2ddef768c2e","Name":"Off-Road Suspension 2"},
{"Tag":"011c1ffd-7146-4e8d-8c18-17247d768ae2","Name":"obj_spaceship_wall04"}]
或者这样
foreach (var item in list)
{
Console.WriteLine ( $"Tag : {item.Tag}, Name: {item.Name}");
}
类
public class Description
{
public string description { get; set; }
public string title { get; set; }
}
public class TagName
{
public string Tag { get; set; }
public string Name { get; set; }
}