小编zAf*_*fLu的帖子

解析值时遇到意外的字符

目前我有一些问题.我正在使用C#和Json.NET.问题是我总是得到:

{"解析值时遇到意外的字符:e.路径'',第0行,位置0."}

所以我使用Json.NET的方式如下.我有一个应该保存的类.这个类看起来像这样:

public class stats
{
    public string time { get; set; }
    public string value { get; set; }
}

public class ViewerStatsFormat
{
    public List<stats> viewerstats { get; set; }
    public String version { get; set; }

    public ViewerStatsFormat(bool chk)
    {
        this.viewerstats = new List<stats>();
    }
}
Run Code Online (Sandbox Code Playgroud)

此类的一个对象将被填充并保存:

 File.WriteAllText(tmpfile, JsonConvert.SerializeObject(current), Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)

保存部分工作正常,文件存在并填充.之后,文件将被读回到类中:

    try 
{ 

    ViewerStatsFormat current = JsonConvert.DeserializeObject<ViewerStatsFormat>(tmpfile);
    //otherstuff        

}
catch(Exception ex)
{
    //error loging stuff
}
Run Code Online (Sandbox Code Playgroud)

现在在current =行上出现异常:

{"解析值时遇到意外的字符:e.路径'',第0行,位置0."}

我不知道为什么会这样.json文件如下 - > 点击我即时JSON链接

有没有人有任何想法?

c# json json.net visual-studio-2013

95
推荐指数
7
解决办法
33万
查看次数

C#GetManifestResourceStream返回null

我正在使用C#WinForms应用程序.我需要嵌入一个.dll,我尝试将此文件从Resource"导出"到HDD.

我使用默认表单资源...

System.IO.Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("FormNamespace.Form1.Newtonsoft_Json");
Run Code Online (Sandbox Code Playgroud)

文件名是Newtonsoft.Json.dll,我也尝试过:

System.IO.Stream s = Assembly.GetExecutingAssembly().GetManifestResourceStream("FormNamespace.Form1.Newtonsoft.Json.dll");
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.s始终为null.我认为我使用错误的方式来访问资源,但我不知道:(

如果有人可以帮助我会很好:)

.net c# stream embedded-resource

3
推荐指数
1
解决办法
6952
查看次数