채택완료

안드로이드에서 json데이터를 전송 후 php에서 받을때~

2014-05-11 (일) 15:26:34 13,271

... 생략 ...

JSONObject json = new JSONObject();

json.put( "name", "이름");

json.put( "phone","폰");

... 생략 ...

안드로이드에서 이와같이 json데이터를 전송해서 php에 데이터를 받을때 어떻게 받아야 하나요..?

아무리 해도 데이터가 "name->이름"라는 것을 가져오질 못합니다.

|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트
php에서 json처리는 먼저
json_decode() 함수를 이용하여 디코딩 시키고
디코딩 시킨 값을 참조하기 위해서는 연관배열 참조하듯 하시면 됩니다.
javascript에서 json값을 참조하는 것과는 조금 다르죠 ^^

답변에 대한 댓글 1개

ㅎㅎ감사합니다.
데이터를 앱에서 post방식으로 전송시 php로 받는 부분이였는데.
질문을 잘못 풀이했나봐요.ㅎㅎ
그래도 답변 달아주셔서 감사합니다.
2014-05-13 (화) 12:43:39
<?php
$mb_id = $_POST['mb_id'];
$bo_table = $_POST['bo_table'];

$result= array('resut'=>true, 'member'=>array('mb_id'=>$mb_id));

echo json_encode($result);
exit;
?>

이렇게... 인데요..

답변에 대한 댓글 2개

파라메타가아닌 json.put 이와같이 보낼경우에는 $_post방식으론 안받아지더라구요..ㅎㅎ
php는 대소문자를 구분 합니다.

$_POST
$_GET


php.ini 에 regist_globals = on

이면

그냥 $mb_id

쓰시면 되고,

extract($_POST); 하셔서

$mb_id 쓰셔도 됩니다..


print_r($_POST);
print_r($_GET);


Uri uri = Uri.parse("http://www.test.com?id=1&page=2");
Intent it = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);

해보셔서 변수값 찍어 보세요
2014-05-12 (월) 15:32:21
Document doc = null;
try {
doc = Jsoup.connect("http://naver.com")
.data("mb_id", memberId)
.data("bo_table", boTable)
.data("page", Integer.toString(params[0]))
.method(Method.POST)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2")
.timeout(5000)
.post();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

doc.outputSettings().charset("UTF-8");
String result = doc.body().text();

JSONObject obj = new JSONObject(result);

String name = obj.getString("name");
String mb_id= obj.getString("mb_id");

형태가 되어야 할것 같습니다

저건 post로 던지는 거고 

get으로 던질때는 .. 

jsoup를 참고해 보세요

답변에 대한 댓글 1개

post로 던진것을 php에서 받는 방식을 질문드린거라서요..
ㅎㅎㅎ좋은 코드 적어주신거 그래도 익혀두고는 알아두고는 있어야겠네요^^
감사합니다.

답변을 작성하려면 로그인이 필요합니다.