2013-02-27 2 views
0

는이 오류PHP는 안드로이드 JSON 구문 분석 오류

Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 
납니다

나는이 오류가 나는 그것이 PHP 것이라고 생각 양식을 오는 위치를 결정할 수 없습니다하지만 난 다른 페이지에서 JSON을 얻을 때 작동 오류가

어디에서 오는 미세 그래서 이것이 PHP 페이지

include("database.php"); 

$state = $_GET['state']; 
$response["county"] = array(); 
switch ($state){ 
case "Select A State": 

    break; 
default: 
    $squery = $con->prepare("SELECT * FROM states WHERE fullName = :state"); 
    $squery->bindParam(':state', $state, PDO::PARAM_STR); 
    $squery->execute(); 
    $srow = $squery->fetch(PDO::FETCH_ASSOC); 

    $tb = trim($srow['tbName']); 
    $query = $con->prepare("SELECT DISTINCT(County) FROM `$tb` ORDER BY County ASC"); 
    $query->execute(); 

    while ($row = $query->fetch(PDO::FETCH_ASSOC)){ 
     $temp = array("display"=>$row['County']); 
     array_push($response["county"], $temp); 
     unset($temp); 
    } 
    break; 
} 
print json_encode($response); 

인이 내 자바 코드 모르는

012 당신은 JSON 문자열을 엉망으로 일부 HTML을 가지고 같은 317027126699

전체 스택 추적

02-27 21:28:58.527: E/JSON Parser(1782): Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject 
02-27 21:28:58.527: W/Trace(1782): Unexpected value from nativeGetEnabledTags: 0 
02-27 21:28:58.527: W/Trace(1782): Unexpected value from nativeGetEnabledTags: 0 
02-27 21:28:58.547: W/Trace(1782): Unexpected value from nativeGetEnabledTags: 0 
02-27 21:28:58.547: W/Trace(1782): Unexpected value from nativeGetEnabledTags: 0 
02-27 21:28:58.577: W/dalvikvm(1782): threadid=11: thread exiting with uncaught exception (group=0x40a70930) 
02-27 21:28:58.587: E/AndroidRuntime(1782): FATAL EXCEPTION: AsyncTask #1 
02-27 21:28:58.587: E/AndroidRuntime(1782): java.lang.RuntimeException: An error occured while executing doInBackground() 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at android.os.AsyncTask$3.done(AsyncTask.java:299) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at java.util.concurrent.FutureTask.setException(FutureTask.java:219) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at java.util.concurrent.FutureTask.run(FutureTask.java:239) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at java.lang.Thread.run(Thread.java:856) 
02-27 21:28:58.587: E/AndroidRuntime(1782): Caused by: java.lang.NullPointerException 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at com.photosbychristian.ems.Edit$LoadStates.doInBackground(Edit.java:106) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at com.photosbychristian.ems.Edit$LoadStates.doInBackground(Edit.java:1) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  at java.util.concurrent.FutureTask.run(FutureTask.java:234) 
02-27 21:28:58.587: E/AndroidRuntime(1782):  ... 4 more 

답변

0

당신은 빈 PARAMS와 쿼리를 실행하고 왔는지있어 -

<br /> 
<b>Fatal error</b>: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1103 Incorrect table name ''' in /home/content/03/8587103/html/ems/countys.php:18 
Stack trace: 
#0 /home/content/03/8587103/html/ems/countys.php(18): PDOStatement-&gt;execute() 
#1 {main} 
    thrown in <b>/home/content/03/8587103/html/ems/countys.php</b> on line <b>18</b><br  /> 

를 해결하려면 다음을 수행하십시오

protected String doInBackground(String... args) { 
    // Building Parameters 
    List<NameValuePair> params = new ArrayList<NameValuePair>(); 
    params.add(new BasicNameValuePair("state", "Pennsylvania")); 
    // getting JSON string from URL 
    String url = "http://www.photosbychristian.com/ems/countys.php"; 
    JSONObject json = stateParser.makeHttpRequest(url, "GET", 
      params); 
0

<br 소리가 난다. 원시 json 문자열을 덤프하면 거기에 PHP 오류가있어 json 구문 오류가 발생할 수 있습니다. 예 : 당신의 URL을 http://www.photosbychristian.com/ems/countys.php?state=Pennsylvania 실제로 반환 http://www.photosbychristian.com/ems/countys.php?state=Pennsylvania?로 전환 할 수 있도록 당신이

<br />Warning: blah blah blah 
[your json object here] 
+1

내가 생각하지만 그녀의 페이지 http://www.photosbychristian.com/ems/countys.php?state=Pennsylvania의 실제 링크입니다 그리고 난 오류가 표시되지 않습니다이게 무슨 – cmb

+0

'http : // www.photosbychristian.com/ems/countys.php' 만 시도하십시오. PHP에서 치명적인 오류가 발생합니다. 오류는 '
'으로 시작합니다. 따라서 특정 펜실베니아 사례의 경우 작동하지만 json 대신 오류가 발생하는 다른 상태/사례가 있어야합니다. –

+0

맞지만 코드에 구체적으로 http://www.photosbychristian.com/ems/countys.php?state=Pennsylvania에 가야한다고 말하고 있습니다.하지만 변수 (state = Pennsylvania)를 다르게 보내야합니까? – cmb