我正在尝试从JSON对象获取用户列表,这是我的JSON响应:
{"users":[{"user":"David David","id_user":"10"},{"user":"Ale Camp","id_user":"14"}],"success":true}`
这是我的代码:
try {
JSONObject jobj = new JSONObject(responseContent);
JSONArray users = jobj.getJSONArray("users");
String utilisateur = String.valueOf(users.get(Integer.parseInt("user")));
Log.e("users",String.valueOf(utilisateur));
}
catch (JSONException e1) {
e1.printStackTrace();
}
但是应用程序因以下错误而崩溃:
java.lang.NumberFormatException:对于输入字符串:“ utilisateur”
答案 0 :(得分:1)
这是因为与键user
关联的值是String
类型而不是Integer
。可能是您打算使用密钥id_user
。如果您打算真正使用user
而不是删除解析部分:
String utilisateur = users.get("user");
答案 1 :(得分:1)
这是问题Integer.parseInt("user")
,您无法将“用户”转换为整数。
如果要打印用户名,则应该执行以下操作:
更改此:
String utilisateur = String.valueOf(users.get(Integer.parseInt("user")));
Log.e("users",String.valueOf(utilisateur));
使用:
for(int i=0;i<users.length();i++)
{
JsonObject job=users.getJSONObject(i);
String utilisateur = job.getString("user");
Log.e("users",utilisateur);
}
答案 2 :(得分:0)
您的值已经是字符串类型,因此您无需解析值
所以尝试
try {
JSONObject jobj = new JSONObject(responseContent);
JSONArray users = jobj.getJSONArray("users");
String utilisateur = String.valueOf(users.getString("user"));
Log.e("users",utilisateur);
}
catch (JSONException e1) {
e1.printStackTrace();
}
答案 3 :(得分:0)
尝试一下
try {
JSONObject jobj = new JSONObject(responseContent);
JSONArray users = jobj.getJSONArray("users");
for(i=0;i<users.length();i++){
JSONObject jobj1 = users.getJSONObject(i);
String user=jobj1.getString("user");
String user_id=jobj1.getString("id_user");
}
}
catch (JSONException e1) {
e1.printStackTrace();
}
让我知道是否可行
答案 4 :(得分:0)
请仔细阅读
try {
JSONObject jobj = new JSONObject(responseContent);
JSONArray users = jobj.getJSONArray("users");
for(int i =0;i<users.length();i++)
{
JSONObject user_details = users.get(i);
String username = user_details.getString("user");
Log.e("users",""+username);
}
}
catch (JSONException e1) {
e1.printStackTrace();
}
答案 5 :(得分:0)
尝试一下...
try {
JSONObject jobj = new JSONObject(responseContent);
JSONArray users = jobj.getJSONArray("users");
for (int i = 0; i < users.length(); i++) {
JSONObject obj = users.getJSONObject(i);
String userName = obj.getString("user");
String userId = obj.getString("id_user");
Log.e("userName: ",userName);
Log.e("userId: ",String.valueOf(userId));
}
}
catch (JSONException e1) {
e1.printStackTrace();
}