Newtonsoft.Json.JsonReaderException:阅读完JSON内容后遇到的其他文本:

Ale*_*nov 7 c# arrays json json.net c#-4.0

从服务器接收时,我在JSON数组中遇到一个奇怪的问题,我试图对其进行反序列化,但是它说

我创建了一个类,并试图将其反序列化为该对象,但是,它说

该类在下面给出。

class bundle
{
    public string msgid { get; set; }
    public string messagetype { get; set; }
    public string message { get; set; }
    public string from { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

异常:Newtonsoft.Json.JsonReaderException:阅读完JSON内容后遇到的其他文本:y。路径'',第1行,在Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader,Type objectType,Boolean checkAdditionalContent)在Newtonsoft.Json.Json.JsonSerializer.DeserializeInternal(JsonReader)的Newtonsoft.Json.JsonTextReader.Read()读取器,在Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader读取器,类型objectType)在Newtonsoft.Json.Json.JsonConvert.DeserializeObject(String value)处(Newtonsoft.Json.Json.Convert.DeserializeObject(String value,Type type,JsonSerializerSettings settings)在Listener.Program.d__5中位于Listener.Program.LogStatus(布尔接收,Byte []缓冲区,Int32长度)处。
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.GetResult()
在Listener.Program.d__1.MoveNext()

我得到的数组如下

{"messagetype":"chatmsg","msgid":"123_119","from":"sam","message":"Hi there, good morning ! "}                                                                                                                            
{"messagetype":"chatmsg","msgid":"123_120","from":"sam","message":"how are you?"}                                                                                                                            

{"messagetype":"chatmsg","msgid":"6478316959_121","from":"sam","message":"this is msg"} ood morning !"}                                                                                                                            
{"messagetype":"ping"}g","msgid":"6478316959_121","from":"sam","message":"you are crazy"} orning ! "}
Run Code Online (Sandbox Code Playgroud)

最后是意外令牌。

Ale*_*nov 2

经过大量工作后,我想出了这个:

string final = string.Empty;
string name = encoder.GetString(buffer);
char []arr = name.ToArray();

boolean bln = true;
foreach (char item in arr)
{
    if (bln)
    {
        if (item == '}')
        {
            final += item.ToString();
            break;
        }
        else
        {
            final += item.ToString();
        }
    }
}

Console.WriteLine(final);
Run Code Online (Sandbox Code Playgroud)

这将截断其余字符。