簡體   English   中英

獲取錯誤:解析數據 org.json.JSONException 時出錯:無法將 org.json.JSONArray 類型的值轉換為 JSONObject

[英]getting error :Error parsing data org.json.JSONException: Value of type org.json.JSONArray cannot be converted to JSONObject

卡住了,需要幫助。 JSON 解析器無法轉換數據,所以我可以使用用戶名和密碼登錄。

jsonParser = new JSONParser();
public JSONObject loginUser(String username, String password) {
    // Building Parameters
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("tag", login_tag));
    params.add(new BasicNameValuePair("username", username));
    params.add(new BasicNameValuePair("password", password));
    JSONObject json = jsonParser.getJSONFromUrl(loginURL, params);
    return json;
}

PHP部分代碼:

while($r = mysql_fetch_assoc($result)) {
    $json[] = $r;
}
print json_encode($json);

根據@njzk2 的評論,解決方案應該是更改您的 PHP 編碼:

但是你只會得到第一個:

while($r = mysql_fetch_assoc($result)) {
    $json = $r;
    break;
}
print json_encode($json);

或者將您的 Java 編碼更改為 JsonArray

jsonParser = new JSONParser();
public JSONArray loginUser(String username, String password) {
    // Building Parameters
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("tag", login_tag));
    params.add(new BasicNameValuePair("username", username));
    params.add(new BasicNameValuePair("password", password));
    // change the following line, to the correct method. Which parser do you use?
    JSONArray json = jsonParser.getJSONArrayFromUrl(loginURL, params);
    return json;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM