[英]java.lang.String cannot be converted to JSONObject
我在从服务器检索特定数据时遇到问题,这是我的代码,任何人都有任何想法`
enter code herepublic String URL_ITEMS = "http://getdoctor.comlu.com/aa.php?name=Naveed";
private static final String TAG_FIXTURE = "checker";
private static final String TAG_MATCHID = "dphone";
private static final String TAG_TEAMA = "pphone";
这是Josn代码,请在此处输入代码。私有类GetFixture扩展了AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... arg) {
ServiceHandler serviceClient = new ServiceHandler();
Log.d("url: ", "> " + URL_ITEMS);
String json = serviceClient.makeServiceCall(URL_ITEMS,ServiceHandler.GET);
// print the json response in the log
Log.d("Get match fixture resps","> " + json);
if (json != null) {
try {
Log.d("try", "in the try");
JSONObject jsonObj = new JSONObject(json);
Log.d("jsonObject", "new json Object");
// Getting JSON Array node
matchFixture = jsonObj.getJSONArray(TAG_FIXTURE);
Log.d("json aray", "user point array");
int len = matchFixture.length();
Log.d("len", "get array length");
for (int i = 0; i < matchFixture.length(); i++) {
JSONObject c = matchFixture.getJSONObject(i);
String matchId = c.getString(TAG_MATCHID);
Log.d("matchId", matchId);
String teamA = c.getString(TAG_TEAMA);
Log.d("teamA", teamA);
// hashmap for single match
HashMap<String, String> matchFixture = new HashMap<String, String>();
// adding each child node to HashMap key => value
matchFixture.put(TAG_MATCHID, matchId);
matchFixture.put(TAG_TEAMA, teamA);
matchFixtureList.add(matchFixture);
}
}
catch (JSONException e) {
Log.d("catch", "in the catch");
e.printStackTrace();
}
} else {
Log.e("JSON Data", "Didn't receive any data from server!");
}
return null;
}'
这是我的logcat,任何人都知道我为什么收到此错误
enter code hereD/url:: > http://getdoctor.comlu.com/aa.php?name=Naveed
04-20 13:12:33.901 32106-32287/com.example.finddoctor D/Get match fixture resps: > Naveed{"checker":[{"pphone":""},{"pphone":"1"},{"pphone":"1"},{"pphone":"5415"},{"pphone":"5415"},{"pphone":"5415"}]}
04-20 13:12:33.901 32106-32287/com.example.finddoctor D/try: in the try
04-20 13:12:33.911 32106-32287/com.example.finddoctor D/catch: in the catch
04-20 13:12:33.911 32106-32287/com.example.finddoctor W/System.err: org.json.JSONException: Value Naveed of type java.lang.String cannot be converted to JSONObject
04-20 13:12:33.911 32106-32287/com.example.finddoctor W/System.err: at org.json.JSON.typeMismatch(JSON.java:107)
04-20 13:12:33.911 32106-32287/com.example.finddoctor W/System.err: at org.json.JSONObject.<init>(JSONObject.java:158)
04-20 13:12:33.921 32106-32287/com.example.finddoctor W/System.err: at org.json.JSONObject.<init>(JSONObject.java:171)
04-20 13:12:33.921 32106-32287/com.example.finddoctor W/System.err: at com.example.finddoctor.Doctor_notification$GetFixture.doInBackground(Doctor_notification.java:199)
04-20 13:12:33.921 32106-32287/com.example.finddoctor W/System.err: at com.example.finddoctor.Doctor_notification$GetFixture.doInBackground(Doctor_notification.java:181)
04-20 13:12:33.921 32106-32287/com.example.finddoctor W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-20 13:12:33.921 32106-32287/com.example.finddoctor W/System.err: at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
04-20 13:12:33.921 32106-32287/com.example.finddoctor W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:138)
04-20 13:12:33.921 32106-32287/com.example.finddoctor W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
04-20 13:12:33.931 32106-32287/com.example.finddoctor W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
04-20 13:12:33.931 32106-32287/com.example.finddoctor W/System.err: at java.lang.Thread.run(Thread.java:1019)`
从线看来
Log.d("Get match fixture resps","> " + json);
和从logcat
获取比赛固定装置代表:> Naveed {“ checker”:[{“ pphone”:“”},{“ pphone”:“ 1”},{“ pphone”:“ 1”},{“ pphone”:“ 5415” },{“ pphone”:“ 5415”},{“ pphone”:“ 5415”}]}
您的json
Naveed{"checker":[{"pphone":""},{"pphone":"1"},{"pphone":"1"},{"pphone":"5415"},{"pphone":"5415"},{"pphone":"5415"}]}
是无效的。 从it.ie删除函数naveed有效的JSON会
{"checker":[{"pphone":""},{"pphone":"1"},{"pphone":"1"},{"pphone":"5415"},{"pphone":"5415"},{"pphone":"5415"}]}
您可以在http://jsonlint.com/上进行检查
您得到以下响应,这是不正确的json。
Naveed{"checker":[{"pphone":""},{"pphone":"1"},{"pphone":"1"},{"pphone":"5415"},{"pphone":"5415"},{"pphone":"5415"}]}
需要这样的回应
{"checker":[{"pphone":""},{"pphone":"1"},{"pphone":"1"},{"pphone":"5415"},{"pphone":"5415"},{"pphone":"5415"}]}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.