gpt4 book ai didi

c# - 如何使用 C#-Unity 将 Json 文件转换为字典

转载 作者:行者123 更新时间:2023-11-30 22:54:31 29 4
gpt4 key购买 nike

我正在尝试在 Unity-C# 中获取 Json 数据集并将其转换为字典

{
1:
{
"uni_number": 001,
"level" : 3,
"Hp" : 15
},
2:
{
"uni_number": 000,
"level" : 0,
"Hp" : 0
}
}

(如果需要,我可以使用 intigers 字符串)当我想保存游戏时,我还需要将字典文件转回 json 文件。

我检查了几个不同的 StackOverflow 问题,但我似乎无法弄明白。我试过使用 JsonUtility 将其解析为字典。

这是我要转换成字典的json文件

string json = @"1:{""uni_number"": 001,""level"" : 3,""Hp"" : 15},2:{""uni_number"": 000,""level"" : 0,""Hp"" : 0}";

这是我尝试过的事情之一,如果我可以让它工作,而不是我应该能够在我添加另一个深度之后从那里完成它。

string json = @"{""uni_number"": ""001"",""level"" : ""3"", ""Hp"": ""15""}";

Dictionary<string, string> loadedData = JsonUtility.FromJson<Dictionary<string, string>>(json);

这不会给我一个错误,但是当我尝试打印它时,它什么也没打印。这是我打印它的方式。

foreach (KeyValuePair<string, string> kvp in loadedData)
{
print("Key = {0}, Value = {1}");
print(kvp.Key);
print(kvp.Value);
}

我也试过

string loadedData = JsonUtility.FromJson<string>(@"{""uni_number"": ""001"",""level"" : ""3"", ""Hp"": ""15""}");

print (loadedData)

并且它不打印任何内容,所以我认为我错误地使用了 JsonUtility 函数,但我不知道如何使用。

如果我不能让它工作,我可能会制作我自己的函数,将 json 文件转换为字典,但这可能会是一个很大的痛苦。

最佳答案

我正在使用 Newtonsoft.Json 并且它有效:(注意每个值也是一个字典(键值对)

     string json = @"{
1:
{
""uni_number"": 001,
""level"" : 3,
""Hp"" : 15
},
2:
{
""uni_number"": 000,
""level"" : 0,
""Hp"" : 0
}
}";

var values = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string,string>>>(json);
foreach (var uni in values)
{
//you can print values here or add to a list or ...
string uni_number= uni.Value["uni_number"];
string level= uni.Value["level"];
string Hp= uni.Value["Hp"];

}

关于c# - 如何使用 C#-Unity 将 Json 文件转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56205459/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com