我在visual studio中有一个文件,其中包含以下内容:"{"Name":"Pete"}"如果我使用以下代码读取文件,则会显示创建一个包含原始值的字符串:
byte[] byteArray = System.IO.File.ReadAllBytes(filePath);
string jsonResponse = System.Text.Encoding.UTF8.GetString(byteArray);
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用以下代码,该字符串实际上与存在的版本不同:
string jsonResponse = "{\"Name\":\"Pete\"}";
Run Code Online (Sandbox Code Playgroud)
为什么?(我认为它不同的原因是因为当我将每个版本传递给json反序列化器时,它的行为有所不同)
谢谢.
鉴于你在问题中的最终评论,我怀疑问题是你在文件的开头有一个字节顺序标记.尝试加载这样的文件:
string jsonResponse = File.ReadAllText(filePath);
Run Code Online (Sandbox Code Playgroud)
我相信这会为你剥去BOM.或者,您可以尝试自己明确修剪它:
jsonResponse = jsonResponse.TrimStart('\feff');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26319 次 |
最近记录: |