我有一个JSON文件,其中包含我正在制作的RPG的Dialogue,我希望能够将玩家选择的名称放入其中。例如,如果玩家的名字是
public string playerName = "Leon";
在我的JSON中我有
"NPCIDxxGreeting":{
"text": "Yo, _____, what's up?"
}
我希望能够在对话JSON中出现空白区域时插入“Leon”。有没有办法做到这一点?
答案 0 :(得分:0)
.NET支持Json转换。所以基本上你读了文件内容,只是解析JSON信息。
示例
public class Stats
{
public int attack;
public string playerName;
public float speed;
......
}
public static List<string>GetJson()
{
using (StreamReader r = new StreamReader("file.json"))
{
string json = r.ReadToEnd();
List<Stats> stats = JsonConvert.DeserializeObject<List<Stats>>(json);
return stats ;
}
}
答案 1 :(得分:0)
您尝试做的是将字符串中的标记替换为另一个字符串。如果您的JSON文件如下所示:
{
"NPCIDxxGreeting":{
"text": "Yo, $name, what's up?"
}
}
您可以加载此字符串,然后将$name$
替换为playerName
变量。
如果您正在使用JSON.NET,则可以像这样解析JSON文件:
dynamic dialogue = JObject.Parse(json);
然后,拉出字符串并替换$name
令牌:
var greeting = dialogue["NPCIDxxGreeting"].text.ToString();
var playerGreeting = greeting.Replace("$name", playerName);
这是一个演示它的小提琴:Replace variable in JSON