android访问本机后台没问题。能够返回正常的数据,但是我把本机后台项目打包成war包放在
服务器上,然后用android去访问服务器,就会报如下错误:
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $
at com.google.gson.Gson.fromJson(Gson.java:899)
at com.google.gson.Gson.fromJson(Gson.java:852)
at com.google.gson.Gson.fromJson(Gson.java:801)
at com.example.ldp.com.activity.StudentActivity.initFruits(StudentActivity.java:107)
at com.example.ldp.com.activity.StudentActivity.onCreate(StudentActivity.java:51)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
访问代码:
private void initFruits(){
Map<String,String> map = new HashMap<>();
map.put("username",username);
String str = HttpGetUtil.SendPostHttp("showcourse/toshowcourse.action",map);
Log.i("LDP",str);
Gson gson = new Gson();
coursesList = gson.fromJson(str,new TypeToken<List<Course>>(){}.getType());
if(coursesList.size()==0){
Toast.makeText(StudentActivity.this,"cuowu",Toast.LENGTH_SHORT).show();
}
}
后台返回的json数据格式: