2012-06-12 3 views
2

json 객체를 사용하여 서버에서 데이터를 가져 오는 iOS (5) 앱을 작성하려고합니다. 응용 프로그램에서 PHP 스크립트를 호출하여 서버에서 데이터를 가져 와서 json으로 인코딩 한 다음 출력합니다. 그것을 수행하는 PHP 스크립트의 라인은 다음과 같습니다PHP 스크립트에서 iOS로 데이터 보내기

$json_encoded = json_encode($normal_array, JSON_FORCE_OBJECT) 
echo $json_encoded; 

을하지만, 내가 할 때

NSURL *url = [NSURL URLWithString:@"192.168.1.100/testing/get.php?number=5"]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 

데이터 변수의 크기가 0 바이트이고 데이터가 포함되어 있지 않습니다.

아무도 왜 dataWithContentsOfURL이 비어있는 것을 얻을 수 있는지 말해 줄 수 있습니까? 에코가 충분하지 않습니까? 응답이나 그와 비슷한 것을 보낼 필요가 있습니까? 그렇다면 어떻게 PHP 스크립트에서 응답을 보내겠습니까? 내가 브라우저에서 동일한 스크립트를 호출하면, 출력 : 내가 아는 한, 유효한 JSON 객체입니다

{ 
    "0": { 
     "0":"asdfgh", 
     "1":"2012-06-11 16:21:15" 
    }, 
    "1": { 
     "0":"jumps over", 
     "1":"2012-06-11 16:20:52" 
    }, 
    "2": { 
     "0":"the quick brown fox", 
     "1":"2012-06-11 16:20:40" 
    }, 
    "3": { 
     "0":"the quick brown fox", 
     "1":"2012-06-11 16:20:40" 
    }, 
    "4": { 
     "0":"the quick brown fox", 
     "1":"2012-06-11 16:20:21" 
    } 
} 

합니다.

답변

1

콘텐츠 유형이 포함 된 헤더를 보내야합니다.

header('Content-type: application/json'); 
print json_encode($array); 
exit(); 
0

내 생각에 기기에 로컬 IP 주소가 표시되지 않습니까? 어느 쪽이든 아니면 json 파싱이 훨씬 더 엄격합니다. PHP 스크립트로 json 헤더를 출력 했습니까?

0

는 URL 문자열을 출력하므로 사용 다음

NSURL *url = [NSURL URLWithString:@"192.168.1.100/testing/get.php?number=5"]; 
NSString *jsonVal = [NSString stringWithContentsOfURL:url]; 
NSLog(jsonVal); 
관련 문제