【发布时间】:2021-07-06 17:33:27
【问题描述】:
我正在尝试列出游戏中的所有物品using System.Text.Json;
我对使用 .json 文件很陌生
我试过这样做来测试它是否有效:
List<Item> AllItems = new List<Item>();
string json = File.ReadAllText("Items.json");
AllItems = Deserialize<List<Item>>(json);
WriteLine(AllItems[0].Name);
它不允许我将其转换为列表 这是json文件
{
"Item": [
{
"Weapon": [
{
"CritChance": 60,
"HitChance": 80,
"OGDamge": 15,
"Damage": 15,
"Damage_Type": "Physical",
"Weapon_Type": "Fist",
"Player": null,
"APUsage": 4,
"ID": 1,
"Name": "Debug",
"Value": 16,
"Rarity": "Common",
"Item_Type": "Weapon"
},
{
"CritChance": 40,
"HitChance": 70,
"OGDamge": 15,
"Damage": 15,
"Damage_Type": "Electric",
"Weapon_Type": "Bow",
"Player": null,
"APUsage": 5,
"ID": 2,
"Name": "Debug2",
"Value": 15,
"Rarity": "Common",
"Item_Type": "Weapon"
}
]
}
]
}
谁能帮帮我:)
【问题讨论】:
-
您需要创建代表该 json 结构的类。查看QuickType;你至少应该有一个
Item和Weapon类。您还必须决定将哪种类型的Player考虑为null。 -
您的 List
- 必须是一个具有名为“Item”的属性的类,它是一个 List
- 必须是一个具有名为“Item”的属性的类,它是一个 List
-
@zaggler 我该怎么做,哈哈,我真的没那么先进
-
@PrinceJKB 请查看我发布的链接,获取您的 json 并将其粘贴到编辑器中,它将根据该结构为您制作必要的类。
-
@zaggler 我应该将它粘贴到 Visual Studio 或 json 文件中
标签: c# json generic-list