测试JSON
https://github.com/trebonian/visual6502/blob/master/segdefs.js
下载后要移除开头 "var segdefs =" 字串
json.net 测试环境
.net framework 4.8
nuget 安装最新 Newtonsoft.Json 12.0.3
try
{
string json_str = File.ReadAllText(Application.StartupPath +
@"\segdefs.js");
object json_obj = JsonConvert.DeserializeObject<object>
( json_str );
Console.WriteLine(st.ElapsedMilliseconds);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
顺利parse成物件 经测试能相容 /*....*/ 或是 // js的注解
system.text.json测试环境
.NET Core 3.1
try
{
string json_str = File.ReadAllText(Application.StartupPath +
@"\segdefs.js");
object json_obj =
JsonSerializer.Deserialize<object>(json_str);
Console.WriteLine(st.ElapsedMilliseconds);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
无法处理JS /* .... */ 或是 // 注解 另外PARSE失败
例外讯息
''' is an invalid start of a value. Path: $ |
LineNumber: 1 | BytePositionInLine: 6.
我是搞不太懂原因 不知道是不是单一资料量太大 或是
SAMPLE档格式有些规范标准问题
测试过小一点的其他JSON档是OK
目前测试一下马上踩雷..... 假若system.text.json处理JSON上有些问题
建议回到JSON.NET试试看
因为连PARSE都有问题 就不做速度上的比较了