JSON 데이터 서버로 넘기기
아래와 같은 데이터를 보내서 서버 쪽에서 log를 찍도록 합니다.
{
"name" : "hong"
"phone" : "000-0000"
}
먼저 안드로이드에서의
POST방식으로 보내는 코드입니다.
public String sendHttpWithMsg(String url){
//기본적인 설정
DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
HttpParams params = client.getParams();
HttpConnectionParams.setConnectionTimeout(params, 3000);
HttpConnectionParams.setSoTimeout(params, 3000);
post.setHeader("Content-type", "application/json; charset=utf-8");
// JSON OBject를 생성하고 데이터를 입력합니다.
//여기서 처음에 봤던 데이터가 만들어집니다.
JSONObject jObj = new JSONObject();
try {
jObj.put("name", "hong");
jObj.put("phone", "000-0000");
} catch (JSONException e1) {
e1.printStackTrace();
}
try {
// JSON을 String 형변환하여 httpEntity에 넣어줍니다.
StringEntity se;
se = new StringEntity(jObj.toString());
HttpEntity he=se;
post.setEntity(he);
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace(); }
try {
//httpPost 를 서버로 보내고 응답을 받습니다.
HttpResponse response = client.execute(post);
// 받아온 응답으로부터 내용을 받아옵니다.
// 단순한 string으로 읽어와 그내용을 리턴해줍니다.
BufferedReader bufReader =
new BufferedReader(new InputStreamReader(
response.getEntity().getContent(),
"utf-8"
)
);
String line = null;
String result = "";
while ((line = bufReader.readLine())!=null){
result +=line;
}
return result;
} catch (ClientProtocolException e) {
e.printStackTrace();
return "Error"+e.toString();
} catch (IOException e) {
e.printStackTrace();
return "Error"+e.toString();
}
}
이제 서버 쪽의 NodeJS로 작성한 코드를 보겠습니다.
app.post('/pushData', function(req, res){
var chunk = '';
//데이터를 가져옵니다.
req.on('data', function(data){
//데이터를 JSON으로 파싱합니다.
chunk = JSON.parse(data);
});
req.on('end',function(){
//파싱된 데이터를 확인합니다.
console.log("name : "+chunk.name + " , phone : "+chunk.phone);
});
// 아래의 OK라는 내용이 안드로이드의 ReadBuffer를 통해
// result String으로 바뀝니다.
res.write("OK");
res.end();
});
위와 같이 안드로이드에서 서버로 JSON데이터를 보낼 수 있고
이를 서버의 DB에 저장 할 수도 있습니다.
--------------------------------------------------------------------
http://stackoverflow.com/questions/17811827/get-a-json-via-http-request-in-nodejs
'Linux' 카테고리의 다른 글
[Media Wiki] 미디어 위키 설치하기 (0) | 2014.12.21 |
---|---|
[NodeJS] NodeJS에서 mysql사용하기 (0) | 2014.12.21 |
[NodeJS] express설치 안될때 (0) | 2014.12.20 |
[NodeJS] nodejs에서 utf-8로 응답하기 (0) | 2014.12.20 |
[RaspberryPI] 라즈베리파이에 몽고DB 설치 하는 방법 (0) | 2014.12.20 |
댓글