在textview android中显示json数组不起作用
Posted
技术标签:
【中文标题】在textview android中显示json数组不起作用【英文标题】:display json array in textview android not working 【发布时间】:2020-07-21 04:50:17 【问题描述】:我的 JSON 数组不起作用,我不知道为什么。在日志中,它只显示:[]
,没有别的。我不会在文本视图中使用它。
这是我的代码:
private void account()
// get from the server
String url = "my url";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, null,
new Response.Listener<JSONObject>()
@Override
public void onResponse(JSONObject response)
try
JSONArray jsonArray = response.getJSONArray("uaccount");
Log.i("conso", jsonArray.toString());
for (int i = 0; i < jsonArray.length(); i++)
JSONObject employee = jsonArray.getJSONObject(i);
Log.i("con", employee.toString());
//Log.i("con", name+ number+status+ age+ city+ town+ gender+weight +height);
String city = employee.getString("city");
String town = employee.getString("town");
txt_City.setText(""+city);
txt_Town.append(town);
//Log.i("co", city + town);
catch (JSONException e)
Log.i("console.logs e:", e.toString());
e.printStackTrace();
, new Response.ErrorListener()
@Override
public void onErrorResponse(VolleyError error)
Log.i("console.logs error:", error.toString());
error.printStackTrace();
);
requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(request);
【问题讨论】:
请通过断点显示你的response
变量内部数据
在 logcat 中?在我的日志猫响应中只显示:“uaccount”:[]
【参考方案1】:
我用 id 尝试了这段代码:
在onreate:
uAccount("3");
在方法中
private void uAccount(final String id)
// get from server
String url = "my url";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, null,
new Response.Listener<JSONObject>()
@Override
public void onResponse(JSONObject response)
try
JSONArray jsonArray = response.getJSONArray("uaccount");
Log.i("conso", jsonArray.toString());
for (int i = 0; i < jsonArray.length(); i++)
JSONObject employee = jsonArray.getJSONObject(i);
Log.i("con", employee.toString());
//Log.i("con", name+ number+status+ age+ city+ town+ gender+weight +height);
String city = employee.getString("city");
String town = employee.getString("town");
txt_City.setText(""+city);
txt_Town.append(town);
//Log.i("co", city + town);
catch (JSONException e)
Log.i("console.logs e:", e.toString());
e.printStackTrace();
, new Response.ErrorListener()
@Override
public void onErrorResponse(VolleyError error)
Log.i("console.logs error:", error.toString());
error.printStackTrace();
)
@Override
protected Map<String, String> getParams() throws AuthFailureError
Map<String, String> params = new HashMap<>();
params.put("id",id);
return params;
;
requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(request);
【讨论】:
以上是关于在textview android中显示json数组不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Android中如何让TextView显示指定的行数并且多出的部分显示省略号
如何使用快速的Android网络库在Android中显示Json结果