測試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都有問題 就不做速度上的比較了