在C#中将对象转换为Json并通过POST发送它会导致损坏的对象?

时间:2014-07-25 16:39:12

标签: c# javascript json node.js bytearray

在C#上,我正在打印我发送到控制台的JSONified字符串,它显示为

 { "message" : "done", "numSlides" : 1, "slides" : [{ "num" : 1, "key" : "530d8aa855df0c2d269a5a5853a47a469c
52c9d83a2d71d9/1slide/Slide1_v8.PNG" }], "bucket" : "xx.xxxxxxxxxx", "error"
: null, "wedge" : false, "tenant" : null, "name" : null }

然后我这样做将它转换为字节数组并发送它

WebRequest request = WebRequest.Create(Program.api +"/"+ route);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

//Get the request stream
Stream dataStream = request.GetRequestStream();
byte[] byteArray = Encoding.UTF8.GetBytes(myString);
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();

在node.js方面,我在console.logging res.body:

时得到了这个
{ '{ "message" : "done", "numSlides" : 1, "slides" : ': { '{ "num" : 1, "key" : "530d8aa855df0c2d269a5a5853a47a469c52c9d83a2d71d9/1slide/Slide1_v8.PNG" }], "bucket" : "xx.xxxxxxxxxx", "error" : null, "wedge" : false, "tenant" : null, "name" : null ': '' } }

这看起来不像有效的JSON。发生了什么?如何发送和接收正确的数据?

1 个答案:

答案 0 :(得分:1)

在测试我正在编写的节点服务器时遇到了类似的问题。该问题最终与请求的内容类型有关。我相信这也可能是你的问题。

我认为你想要的内容类型是" application / json"。

有关详细信息,请参阅This Post