json - java.lang.Integer 类型的值无法转换为 JSONObject
问题描述
我想从JSON显示我的 android的高分。但我有错误说
value 100 at HS of type java.lang.Integer cannot be converted to JSONObject
这是 JSON 的样子
{
"HS": 100
}
这是我显示 JSON 值的代码
public void getData(){
AndroidNetworking.get("http://192.168.1.19/web_admin/public/api/highSkor_api")
.setPriority(Priority.LOW)
.build()
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
//adding the product to product list
try {
//get JSON data
JSONObject data = response.getJSONObject("HS");
int HS = data.getInt("HS");
tx_hscore.setText(getString(R.string.high_score, HS);
Log.d(TAG, "ISI : "+HS);
} catch (JSONException e) {
e.printStackTrace();
}
//Toast.makeText(Result.this, "High Score : "+data_highSkor.getHighSkor(), Toast.LENGTH_LONG).show();
}
@Override
public void onError(ANError error) {
Log.e(TAG, "onError : "+ error);
Toast.makeText(Result.this, "Failed to reach server : "+error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
解决方案
你需要更换
JSONObject data = response.getJSONObject("HS");
和
int hs = response.getInt("HS")
因为response
已经是一个JSONObject
如果你的 json 是这样的
{
"HS": {
"key1": "value1",
"key2": "value2"
}
}
然后你可以做
JSONObject data = response.getJSONObject("HS");
推荐阅读
- python - 使用 `matplotlib` 和 `pandas` 表示连续图
- go - 忽略“已导入且未使用”的编译时错误
- sdk - 在 sdk 中由 Convertquotetosalesorder 创建的 Salesorder 的状态码
- javascript - 在 PHP 中使用循环将 div ID 存储到数组中
- java - 当用户定义变量或函数的类型时,Java CUP(解析器)会产生移位/减少冲突
- django - 将应用程序动态添加到 Django
- javascript - 多个文件输入后的图像重复
- c# - 尝试打开 OracleConnectionObject 时出现异常
- java - 在 Java dropCourse 方法中从课程中删除学分问题
- mysql - 如何简化此 SQL 模式?