json 객체 데이터와 함께 C#에서 POST WebRequest를 보냅니다. 그리고이 같은 Node.js를 서버에 수신을 원하지 :Express node.js에서 JSON을받는 방법 POST 요청?
public string TestPOSTWebRequest(string url,object data)
{
try
{
string reponseData = string.Empty;
var webRequest = System.Net.WebRequest.Create(url) as HttpWebRequest;
if (webRequest != null)
{
webRequest.Method = "POST";
webRequest.ServicePoint.Expect100Continue = false;
webRequest.Timeout = 20000;
webRequest.ContentType = "application/json; charset=utf-8";
DataContractJsonSerializer ser = new DataContractJsonSerializer(data.GetType());
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, data);
String json = Encoding.UTF8.GetString(ms.ToArray());
StreamWriter writer = new StreamWriter(webRequest.GetRequestStream());
writer.Write(json);
}
var resp = (HttpWebResponse)webRequest.GetResponse();
Stream resStream = resp.GetResponseStream();
StreamReader reader = new StreamReader(resStream);
reponseData = reader.ReadToEnd();
return reponseData;
}
catch (Exception x)
{
throw x;
}
}
메소드 호출 :
TestPOSTWebRequest("http://localhost:3000/ReceiveJSON", new TestJSONType { a = 2, b = 3 });
또한
var express = require('express');
var app = express.createServer();
app.configure(function(){
app.use(express.bodyParser());
});
app.post('/ReceiveJSON', function(req, res){
//Suppose I sent this data: {"a":2,"b":3}
//Now how to extract this data from req here?
//console.log("req a:"+req.body.a);//outputs 'undefined'
//console.log("req body:"+req.body);//outputs '[object object]'
res.send("ok");
});
app.listen(3000);
console.log('listening to http://localhost:3000');
이, POST WebRequest 클래스의 C#을 종료는 다음과 같은 방법을 통해 호출
위 node.js 코드의 요청 개체에서 JSON 데이터를 구문 분석하려면 어떻게해야합니까?
콘솔의 핵심으로 개체를 개막 .log (req.body)는 [object object]를 출력합니다. 나는 req.body.a도 시도했지만 정의되지 않은 내용을 인쇄합니다. – zee
나는 내 코드를 편집 했으므로 다른 모든 미들웨어 (bodyParser 포함) 앞에 라우터가 놓여있었습니다. – alessioalex
흠. 하지만 지금 console.log (req.body); outputs {}! json 객체 속성을 추출하는 방법 a & b? – zee