Rey*_*van 8 .net c# json json.net
我在我的一个项目中JSON设置了一堆文件Embedded resource.我正在使用Newtonsoft.Json解析这些文件:
public static string ReadStringFromStream(string streamName)
{
using (System.IO.Stream stream = new EmbeddedResourceReader().GetType().Assembly.GetManifestResourceStream(streamName))
{
byte[] result = new byte[stream.Length];
stream.Read(result, 0, (int)stream.Length);
var str = Encoding.UTF8.GetString(result);
return str;
}
}
...
var traits = JsonConvert.DeserializeObject<Genre[]>(EmbeddedResourceReader.ReadStringFromStream("LNTCore.Genres.json"));
Genres = traits;
Run Code Online (Sandbox Code Playgroud)
这会在Newtonsoft.Json中引发异常,因为它无法解析文件的开头.在这种情况下,最佳做法是什么?我应该如何处理这种情况?
谢谢!
T.J*_*der 11
这是一个字节顺序标记(BOM).
我假设您的第一个代码块正在显示您是如何获取该文件的.如果您想要没有BOM的UTF-8文件,可以使用UTF8Encoding构造函数构建没有BOM的编码实例:
var str = new UTF8Encoding(false).GetString(result);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7437 次 |
| 最近记录: |