我正在尝试使用Newtonsoft.Json填充json文件中的2个字符串。 从我一直在阅读的内容来看,这似乎应该起作用。
在我的程序课中:
public string Lavalinkpw { get; set; }
public string Token { get; set; }
在我的主要任务中:
var setup = JsonConvert.DeserializeObject<Program>(File.ReadAllText(@"config.json"));
现在,我有控制台将设置中继回给我(这就是为什么它是可变的),并且它反序列化也很好,那么为什么不设置Lavalinkpw和Token? 这是.json:
{
"Lavalinkpw": "mypw",
"Token" : "mycooltoken"
}
答案 0 :(得分:1)
类名Program
可能与默认创建的类名冲突,该类名是您的入口点方法Main
的容器,因此您的代码试图反序列化为完全错误的课。在这种情况下,应该有一个编译器警告。
答案 1 :(得分:0)
类名Program可能与以下名称冲突 默认情况下创建的类,作为您的入口点的容器 Main方法,以便您的代码尝试反序列化为完全 错误的课。在这种情况下,应该有一个编译器警告。
@Tom W
进行自定义class
。
//Custom class
public class MyClass
{
public string Lavalinkpw { get; set; }
public string Token { get; set; }
}
现在叫这个。
//To deserialize json into object
var setup = JsonConvert.DeserializeObject<MyClass>(File.ReadAllText(@"config.json"));
希望它对您有用。欲了解更多信息 JsonConvert Reference。