亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

org.json.JSONException: java.lang.String 類型的值

org.json.JSONException: java.lang.String 類型的值

烙印99 2023-06-28 15:25:27
問題是 json 是從 url 中獲取的(我這么說是因為 url 的整個 json 內容都顯示在“logcat”上),但不知何故它沒有轉換為“jsonarray”。也許語法不正確或其他什么,但我已經檢查了所有內容,看起來沒問題,但仍然拋出此異常。查看代碼并檢查 - JSONArray jArray = new JSONArray(result);這條線可能是問題所在?!敖Y果”是一個字符串緩沖區類型,它在函數中被轉換為字符串,doInBackground然后被發送到onPostExecute函數,由函數接收JSONArray,然后執行其余部分。但據我所知,問題是將“結果”轉換為JSONArray. 這就是拋出的異常所說的?,F在我添加了一行“conn.connect();” 并評論“conn.DoOutput(true)”?,F在,我的整個 json 頁面正在被獲取并顯示一條警告:“JSONObject 類型的‘整個 json 頁面’的值無法轉換”非常感謝那些提供幫助的人!這是我的 JSON 文件內容 -    {  "records": [    {      "id": "1",      "Email": "[email protected]",      "FirstName": "CDE",      "LastName": "CDE",      "Password": "cde",      "Category": "Chef",      "Descrption": "cde",      "Tagline": "Chef LifeStyle",      "Experience": "2 year 2 months",      "CurrentWork": "AlgowireTechnologies",      "Achievements": "got a prize ",      "Hobbies": "playing,dancing etc"    },    {      "id": "2",      "Email": "[email protected]",      "FirstName": "ABC",      "LastName": "XYZ",      "Password": "abc",      "Category": "Engineer",      "Descrption": "abc",      "Tagline": "Engineer LifeStyle",      "Experience": "1 year 3 months",      "CurrentWork": "AlgowireTechnologies",      "Achievements": "got a prize ",      "Hobbies": "playing,dancing etc"    },    {      "id": "3",      "Email": "[email protected]",      "FirstName": "DEMO",      "LastName": "USER",      "Password": "demo",      "Category": "Doctor",      "Descrption": "demo",      "Tagline": "Doctor LifeStyle",      "Experience": "2 year 5 months",      "CurrentWork": "AlgowireTechnologies",      "Achievements": "got a prize ",      "Hobbies": "playing,dancing etc"    },
查看完整描述

3 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

請將結果轉換為JSONObject


JSONObject jsonObject = new JSONObject(結果);


然后嘗試得到JSONArray


JSONArray arryJ = jsonObject.getJSONArray("記錄");


請檢查 jsonObject 不為 null,因為你們也都返回了錯誤消息。您需要以不同的方式管理錯誤。


還分享您的 json,以便我們可以與您分享確切的問題。


更新答案::


為了避免解析錯誤,您可以檢查


if(jsonObject.hasKey("records")){

  //get Value of records

}


查看完整回答
反對 回復 2023-06-28
?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

第一個問題是,在 catch 中,您將異常作為函數結果 (?return e.toString()) 返回。

其次,我認為您的 JSON 存在問題。


查看完整回答
反對 回復 2023-06-28
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

問題實際上出在 JSONArray jarray 上。該語句之前必須有一個 JSONObject。喜歡-


            JSONObject a = new JSONObject(s);

            JSONArray jArray = a.getJSONArray("records");


            for(int i=0;i<jArray.length();i++){

                JSONObject json_data = jArray.getJSONObject(i);

當沒有給 JSON 數組指定名稱時,應該使用上面的代碼。這意味著在上面的 JSON 中,如果“記錄”不存在,那么問題中的代碼將起作用。意思是,這會起作用-


            //JSONObject a = new JSONObject(s);

            JSONArray jArray = a.getJSONArray(s);


            for(int i=0;i<jArray.length();i++){

                JSONObject json_data = jArray.getJSONObject(i);

感謝所有幫助和嘗試過的人!?。。?/p>


查看完整回答
反對 回復 2023-06-28
  • 3 回答
  • 0 關注
  • 377 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號