Java 使用volley库获取具有整数的json
我在使用截取库获取json时遇到问题。 这是我的json:Java 使用volley库获取具有整数的json,java,php,android,json,android-volley,Java,Php,Android,Json,Android Volley,我在使用截取库获取json时遇到问题。 这是我的json: {"result":1} php代码计算mysql数据库中的行数,并在此json文件中显示结果。 计数的数目是整数 这是我获取json的代码: private void getData () { //url + id of row that want to count String url = Config.DATA_URL_COUNT +"1"; StringRequest string
{"result":1}
php代码计算mysql数据库中的行数,并在此json文件中显示结果。
计数的数目是整数
这是我获取json的代码:
private void getData () {
//url + id of row that want to count
String url = Config.DATA_URL_COUNT +"1";
StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
//loading.setVisibility(View.INVISIBLE);
showJSON(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Toast.makeText(this,error.getMessage().toString(), Toast.LENGTH_LONG).show();
}
});
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
private void showJSON(String response) {
int name = 0;
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray result = jsonObject.getJSONArray(Config.TAG_RESULT);
JSONObject collegeData = result.getJSONObject(0);
name = jsonObject.getInt(Config.JSON_ARRAY);
} catch (JSONException e) {
e.printStackTrace();
}
String count = String.valueOf(name);
rowcount_kargozarybime.setText(count); //insert result in textview
}
private void getData(){
//要计数的行的url+id
字符串url=Config.DATA\u url\u COUNT+“1”;
StringRequest StringRequest=新的StringRequest(url,new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
//加载.setVisibility(视图.不可见);
showJSON(响应);
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//Toast.makeText(这个,error.getMessage().toString(),Toast.LENGTH_LONG.show();
}
});
RequestQueue RequestQueue=Volley.newRequestQueue(this);
添加(stringRequest);
}
私有void showJSON(字符串响应){
int name=0;
试一试{
JSONObject JSONObject=新JSONObject(响应);
JSONArray result=jsonObject.getJSONArray(Config.TAG_result);
JSONObject collegeData=result.getJSONObject(0);
name=jsonObject.getInt(Config.JSON_数组);
}捕获(JSONException e){
e、 printStackTrace();
}
字符串计数=String.valueOf(名称);
rowcount_kargozarytime.setText(count);//在textview中插入结果
}
这是我的php代码:
<?php
if($_SERVER['REQUEST_METHOD']=='GET'){
$categoryid = $_GET['categoryid'];
define('HOST','144.76.10.250');
define('USER','cp21983_test');
define('PASS','*******');
define('DB','cp21983_marivanjobs');
$con = mysqli_connect(HOST,USER,PASS,DB);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"SET character_set_results=utf8,character_set_client=utf8,character_set_connection=utf8, character_set_database=utf8,character_set_server=utf8");
$sql="SELECT * FROM jobs WHERE categoryid='".$categoryid."'";
if ($result=mysqli_query($con,$sql))
{
// Return the number of rows in result set
$rowcount=mysqli_num_rows($result);
echo json_encode(array("result"=>$rowcount));
// Free result set
mysqli_free_result($result);
}
mysqli_close($con);
}
尝试使用:
JSONObject respObject = new JSONObject(response);
int result = respObject.getInt("result");
这是一个json对象,而不是json数组。因此,请使用此代码获取结果计数
JSONObject jsonObject = new JSONObject(response);
int count = jsonObject.getInt("result");
rowcount_kargozarybime.setText(String.valueOf(count));
您有什么问题?@f1sh文本视图中没有显示结果。您可以添加响应结果格式吗?非常感谢;)