I have a file in visual studio with the following contents:”{“Name”:”Pete”}”
If I read the file with the following code it appears to create a string with the original value:
byte[] byteArray = System.IO.File.ReadAllBytes(filePath);
string jsonResponse = System.Text.Encoding.UTF8.GetString(byteArray);
However, the string is actually different to the version that exists if I use the following code:
string jsonResponse = "{\"Name\":\"Pete\"}";
Why? (The reason I think it is different is because when I pass each version to a json deserializer it behaves differently)
Thanks.
Given your final comment in the question, I suspect the problem is that you’ve got a byte-order mark at the start of the file. Try loading the file like this instead:
I believe that will strip the BOM for you. Alternatively, you could try explicitly trimming it yourself: