我正在使用以下代码序列化一个 C# 对象:
var serializer = new JavaScriptSerializer();
var serializedResult = serializer.Serialize(rawFile);
Console.WriteLine(serializedResult);
return;
尝试使用从 4.5 到 4.6.1 的目标框架进行序列化。
然后我尝试将其反序列化为 R:
> x <- read_json("C:\dump.txt")
Error in parse_con(txt, bigint_as_char) :
lexical error: invalid bytes in UTF8 string.
": "Sample pickup:nVolume [æl] : 1.00nFlow [æl
(right here) ------^
我猜这些是微升。如何最好地处理这些特殊字符?
谢谢。
关键的提示来自谢尔盖"如果你把它输出到控制台,那么......它可以被打破。
使用 File.WriteAllText 可以解决此问题:
JavaScriptSerializer serializer = new JavaScriptSerializer();
string serializedResult = serializer.Serialize(rawFile);
// byte[] bytes = Encoding.Default.GetBytes(serializedResult);
// string myString = Encoding.UTF8.GetString(bytes);
File.WriteAllText("dump2.txt", serializedResult);