无法将java.lang.String类型的值转换为JSONArray。我不断收到错误
下面是php文件结果 数组[{“用户名”:“abc”,“用户密码”:“abc”,“id”:“123456789”}] 下面是通过HTTPConnection获取响应的代码无法将java.lang.String类型的值转换为JSONArray。我不断收到错误,java,php,android,json,parsing,Java,Php,Android,Json,Parsing,下面是php文件结果 数组[{“用户名”:“abc”,“用户密码”:“abc”,“id”:“123456789”}] 下面是通过HTTPConnection获取响应的代码 protected String doInBackground(String... params) { HttpURLConnection conn = null; try { // create connection URL w
protected String doInBackground(String... params) {
HttpURLConnection conn = null;
try {
// create connection
URL wsURL=new URL(params[0]);
conn=(HttpURLConnection) wsURL.openConnection();
conn.setConnectTimeout(15000);;
conn.setReadTimeout(10000);
// get data
InputStream in = new BufferedInputStream(conn.getInputStream());
// converting InputStream into String
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(in,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
in.close();
String jsonResult=sb.toString();
return jsonResult;
}
catch(Exception e){
Log.e("log_tag", "Error converting result " + e.toString());
}
我用来解析字符串结果的代码是jsonArray和JsonObject
protected void onPostExecute(String result) {
try {
JSONArray jArray = new JSONArray(result);
JSONObject json = jArray.getJSONObject(0);
String username = json.getString("username");
} catch (Exception e) {
error2 = e.getMessage().toString();
// TODO: handle exception
Log.e("log_tag", "Error Parsing Data "+e.toString());
}
dialog.dismiss();
}
出现错误“java.lang.String类型的值无法转换为JSONArray”请尝试此代码
try {
result = result.replace("Array","");
JSONArray jArray = new JSONArray(result);
JSONObject json = jArray.getJSONObject(0);
String username = json.getString("username");
} catch (Exception e) {
error2 = e.getMessage().toString();
// TODO: handle exception
Log.e("log_tag", "Error Parsing Data "+e.toString());
}
dialog.dismiss();
查看JSON字符串前面的单词“Array”的位置?不应该。对不起,我没听懂你说的话!你能解释一下你的PHP代码是在JSON之前打印出一个数组吗。PHP通过打印文字字符串“array”熟练地处理数组到字符串的转换。修复你的PHP。你能发布完整的PHP响应吗谢谢你的帮助。。。我明白了。。。这是一个愚蠢的检查点…;)
[{“示例”:“此文本愚蠢地包含单词‘Array’”}]
响应将是Array[{“示例”:“此文本愚蠢地包含单词‘Array’”}]。因为数组总是附加在JsonArray之前。我使用的是replace,而不是replaceAll。所以它只会清除第一个事件。是的,我知道了。。。我检查了我的php文件,得到了这个愚蠢的检查点;)谢谢你的帮助!