본문 바로가기
Linux

[NodeJS, Android] JSON 데이터 서버로 넘기기

by GGoris 2014. 12. 20.
반응형

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











반응형

댓글