我遇到了一個奇怪的問題:給出這樣的字符串{"text":"s","cursorPosition":189,"dataSource":"json_northwind",
這不是一個正確的json,它仍然得到了成功解析。Newtonsoft.Json解析不正確的json
這是類:
public class CompletionDataRequest
{
public CompletionDataRequest(string text, int cursorPosition, string dataSource, string project)
{
Text = text;
CursorPosition = cursorPosition;
DataSource = dataSource;
Project = project;
}
public string Text { get; }
public int CursorPosition { get; }
public string DataSource { get; }
public string Project { get; }
}
下面是測試出奇成功:
var s = @"{""text"":""s"",""cursorPosition"":189,""dataSource"":""json_northwind"",";
var request = JsonConvert.DeserializeObject<CompletionDataRequest>(s);
request.Text.Should().Be("s");
request.CursorPosition.Should().Be(189);
request.DataSource.Should().Be("json_northwind");
request.Project.Should().BeNull();
圖書館有一些鬆動解析規則或也許這是一個錯誤?我庫版本9.0.1
@Łukasz - 好的,我繼續並報告了這個問題,[當對象具有參數化構造函數時,反序列化unclosed對象成功。 #1038](https://github.com/JamesNK/Newtonsoft.Json/issues/1038)。 – dbc
哦,我正在進行,但我會停止。感謝幫助 –