C# 网络套接字。 obs-netsocket。无效 JSON 负载
C# WebSockets. Obs-netsocket. Invalid JSON payload
所以。我真的试图自己找到解决问题的方法,但我认为这是压倒性的。
我正在尝试发送一个 WebSocket,但它每次都得到相同的响应。
我正在使用 WebSocketSharp 和 Newtonsoft.Json
我的 C# 代码
sr = new StreamReader("./json1.json");
string output1 = JsonConvert.SerializeObject(sr.ReadToEnd());
ws.Send(output1);
我的.json\\Ps。我非常确定这个 json 很好。
{
"request-type": "StartStopRecording",
"message-id": "1"
}
在控制台中。
输出1
"{\r\n \"request-type\": \"StartStopRecording\"\r\n}"
json
{"error":"invalid JSON payload","status":"error"}
所以现在我不知道出了什么问题。
也许我应该使用 Newtonsoft.Json 以外的东西?
我认为问题出在双重序列化上。当您使用 StreamReader 从文件中读取时,您会得到一个字符串,但是当您使用 NewtonSoft 对其进行序列化时,您会对该字符串进行双重序列化。
我建议删除代码中的序列化并发送从 sr.ReadToEnd
方法获得的字符串。
所以。我真的试图自己找到解决问题的方法,但我认为这是压倒性的。 我正在尝试发送一个 WebSocket,但它每次都得到相同的响应。
我正在使用 WebSocketSharp 和 Newtonsoft.Json
我的 C# 代码
sr = new StreamReader("./json1.json");
string output1 = JsonConvert.SerializeObject(sr.ReadToEnd());
ws.Send(output1);
我的.json\\Ps。我非常确定这个 json 很好。
{
"request-type": "StartStopRecording",
"message-id": "1"
}
在控制台中。
输出1
"{\r\n \"request-type\": \"StartStopRecording\"\r\n}"
json
{"error":"invalid JSON payload","status":"error"}
所以现在我不知道出了什么问题。
也许我应该使用 Newtonsoft.Json 以外的东西?
我认为问题出在双重序列化上。当您使用 StreamReader 从文件中读取时,您会得到一个字符串,但是当您使用 NewtonSoft 对其进行序列化时,您会对该字符串进行双重序列化。
我建议删除代码中的序列化并发送从 sr.ReadToEnd
方法获得的字符串。