Java JSON对象从数据库提取后不显示值
我在android中从数据库获取数据,我可以看到使用POSTMAN以JSON格式从数据库获取数据,但当我试图在android应用程序中显示数据时,它不会显示任何值。 邮递员的价值观:Java JSON对象从数据库提取后不显示值,java,php,android,json,database,Java,Php,Android,Json,Database,我在android中从数据库获取数据,我可以看到使用POSTMAN以JSON格式从数据库获取数据,但当我试图在android应用程序中显示数据时,它不会显示任何值。 邮递员的价值观: { "result": [ { "Date": "18-3-2016", "Events": "Local Holiday" }, { "Date": "23-3-2016", "Events": "Monthly Fees" },
{
"result": [
{
"Date": "18-3-2016",
"Events": "Local Holiday"
},
{
"Date": "23-3-2016",
"Events": "Monthly Fees"
},
{
"Date": "15-4-2016",
"Events": "Monthly Fees"
},
{
"Date": "23-4-2016",
"Events": "Annual Day"
},
{
"Date": "30-4-2016",
"Events": "session end"
},
{
"Date": "9-4-2016",
"Events": "Parent Teacher Meeting"
}
]
}
以下是一些教程和代码:
private void getData() {
loading = ProgressDialog.show(this,"Please wait...","Fetching...",false,false);
String url = config_events.DATA_URL;
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
loading.dismiss();
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(events.this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response) {
String date = "";
String comment="";
//String vc = "";
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(config_events.JSON_ARRAY);
JSONObject collegeData = result.getJSONObject(0);
date = collegeData.getString(config_events.KEY_NAME);
comment = collegeData.getString(config_events.KEY_ADDRESS);
//vc = collegeData.getString(config_events.KEY_VC);
} catch (JSONException e) {
e.printStackTrace();
}
textViewResult.setText("Date:"+date + "Comment:"+ comment);
private void getData(){
loading=ProgressDialog.show(这是“请稍候…”、“正在获取…”、false、false);
字符串url=config\u events.DATA\u url;
StringRequest StringRequest=新的StringRequest(url,new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
loading.dispose();
showJSON(响应);
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(events.this,error.getMessage().toString(),Toast.LENGTH_LONG.show();
}
});
RequestQueue RequestQueue=Volley.newRequestQueue(this);
添加(stringRequest);
}
私有void showJSON(字符串响应){
字符串日期=”;
字符串注释=”;
//字符串vc=”“;
试一试{
JSONObject JSONObject=新JSONObject(响应);
JSONArray result=jsonObject.getJSONArray(config_events.JSON_数组);
JSONObject collegeData=result.getJSONObject(0);
日期=collegeData.getString(配置事件.键名称);
comment=collegeData.getString(配置事件.KEY地址);
//vc=collegeData.getString(config\u events.KEY\u vc);
}捕获(JSONException e){
e、 printStackTrace();
}
textViewResult.setText(“日期:+Date+”注释:+Comment);
假设您已尝试对其进行调试,这可能是Android清单中的用户权限问题。请确保您在清单文件中具有以下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
如果您确实通过
API
获得了响应,您可能需要检查JSON
解析代码,这是我在假设问题中的响应时编写的
private void showJSON(String response){
try{
Log.d(TAG, "showJSON: \n"+response);// print here to check you are getting the right response
JSONObject response_JsonObject = new JSONObject(response);
JSONArray result_JsonArray = response_JsonObject.getJSONArray("result");
ArrayList<Event> events = new ArrayList<>();
for (int i = 0; i < result_JsonArray.length(); i++) {
Event single_Event = new Event();
single_Event.setDate(result_JsonArray.getJSONObject(i).getString("Date"));
single_Event.setEvent(result_JsonArray.getJSONObject(i).getString("Events"));
events.add(single_Event);
}
Log.d(TAG, "showJSON: Event list size: "+events.size()); // check number of elements
}catch (Exception e){
e.printStackTrace();
}
}
private class Event{
private String date;
private String event;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getEvent() {
return event;
}
public void setEvent(String event) {
this.event = event;
}
}
private void showJSON(字符串响应){
试一试{
Log.d(标记“showJSON:\n”+response);//在这里打印以检查您是否得到了正确的响应
JSONObject响应\ U JSONObject=新JSONObject(响应);
JSONArray result_JSONArray=response_JsonObject.getJSONArray(“结果”);
ArrayList事件=新建ArrayList();
for(int i=0;i
尝试将日志状态添加到catch();您的Try块中似乎出现了一些问题,无法停止要分配的日期、注释值。所有权限都已授予