gpt4 book ai didi

java - Android JSON WebRequest - JSONException : End of input at character 0

转载 作者:行者123 更新时间:2023-12-01 09:08:00 25 4
gpt4 key购买 nike

我这里有一段从 http://mobilesiri.com/json-parsing-in-android-using-android-studio/ 获取的代码并将其修改为我自己使用的。

    public String makeWebServiceCall(String addr, int requestMethod) {
URL url;
String response = "";
try {
url = new URL(addr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(15001);
conn.setConnectTimeout(15001);
conn.setDoInput(true);
conn.setDoOutput(true);

if (requestMethod == Constant.GET) {
conn.setRequestMethod("GET");
} else if (requestMethod == Constant.DELETE) {
conn.setRequestMethod("DELETE");
}

int reqResponseCode = conn.getResponseCode();

if ((requestMethod == Constant.GET || requestMethod == Constant.DELETE) && reqResponseCode == HttpURLConnection.HTTP_OK) {
String line;
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = br.readLine()) != null) {
response += line;
}
} else {
response = "";
}

} catch (MalformedURLException murle) {
Log.e(MalformedURLException.class.getName(), murle.getMessage());
} catch (IOException ioe) {
Log.e(IOException.class.getName(), ioe.getMessage());
}

return response;
}

将其与库一起放入正常的 Java 环境中,我能够获得这种形式的输出

{"status":"FOUND","data":[{"category_id":3,"category_name":"Experience Sharing Area"},{"category_id":4,"category_name":"Frequently Asked Questions"},{"category_id":1,"category_name":"General Pain Advice"},{"category_id":2,"category_name":"Pain Categorization Section"}]}

将其放入 Android 中解析数据,我得到 JSONException- org.json.JSONException:输入结束于

的字符 0

这是我实现它的地方。

protected Void doInBackground(Void... voids) {
WebRequest webReq = new WebRequest();
String jsonStr = webReq.makeWebServiceCall(Constant.WEB_SERVER_ADDR + Constant.GET_CATEGORY, Constant.GET);
Log.d("URL:", Constant.WEB_SERVER_ADDR + Constant.GET_CATEGORY);
Log.d("Response:", " > " + jsonStr);

categoryList = parseJSON(jsonStr);

return null;
}

这有什么问题吗?

最佳答案

您收到JSONException:字符 0 处的输入结束

发布您的 parseJSON 类。

{"status":"FOUND","data":[{"category_id":3,"category_name":"Experience Sharing Area"},{"category_id":4,"category_name":"Frequently Asked Questions"},{"category_id":1,"category_name":"General Pain Advice"},{"category_id":2,"category_name":"Pain Categorization Section"}]}

你的解析将是

try {
JSONObject reader = new JSONObject("YOUR_JSON_STRING");
JSONArray jsonArray = reader.getJSONArray("data");


for (int i = 0; i < jsonArray.length(); i++)
{
JSONObject jsonItem = jsonArray.getJSONObject(i);

try {
jsonItem = jsonArray.getJSONObject(i);
} catch (JSONException e1) {
e1.printStackTrace();
}


String cate_id= jsonItem.getString("category_id");
String category_name= jsonItem.getString("category_name");

}
// Add adapter

} catch (JSONException e) {
e.printStackTrace();
}

}

关于java - Android JSON WebRequest - JSONException : End of input at character 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41097987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com