Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从JSON响应中获取值?_Android_Json - Fatal编程技术网

Android 如何从JSON响应中获取值?

Android 如何从JSON响应中获取值?,android,json,Android,Json,这是我的json响应。我想在每个数组的listview中显示第三个索引中的值 "history":[["2","mega@gmail.com","21.2299924","72.8247365","1479718230719"], ["3","mega@gmail.com","21.2299926","72.8247346","1479718265453"], ["4","mega@gmail.com","21.2299924","72.8247345","1479719800472"], ["

这是我的json响应。我想在每个数组的listview中显示第三个索引中的值

"history":[["2","mega@gmail.com","21.2299924","72.8247365","1479718230719"],
["3","mega@gmail.com","21.2299926","72.8247346","1479718265453"],
["4","mega@gmail.com","21.2299924","72.8247345","1479719800472"],
["5","mega@gmail.com","21.2299927","72.8247354","1479720302919"],
["6","mega@gmail.com","21.2299926","72.8247344","1479720880373"],
["7","mega@gmail.com","21.2299926","72.8247343","1479721139992"]]}
这是我的php代码:

$email = $_POST['email'];
      $con = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD) or                die(mysqli_error($con));
        mysqli_select_db($con,DB_DATABASE) or die(mysqli_error($con));
       $result = mysqli_query($con,"SELECT * from tbl_userhistory WHERE   email = '$email'");
        $no_of_rows = mysqli_num_rows($result);
         if ($no_of_rows > 0) {

        $rows = array();
        while ($row = mysqli_fetch_row($result)) {
        $rows[] = $row;
        }
            $response["history"] =$rows;
            echo json_encode($response);

}


     else {

        return false;
    }
这是我想要获取值的代码..: 我收到了回复,但格式不正确。我只想要每行的纬度和经度

 private  void getHistory(final String em){
    String tag_string_location= "group_history";
    pDialog.setMessage("Getting Group members history...");
    showDialog();
    StringRequest strReqLocation = new StringRequest(Request.Method.POST,
            Config_URL.URL_REGISTER, new Response.Listener<String>(){

        @Override
        public void onResponse(String response) {
            Log.d("Activity_main", "getting group history " + response.toString());
            hideDialog();
            try {
                JSONObject jObj = new JSONObject(response);
                boolean error = jObj.getBoolean("error");
                if (!error) {

                    // String groupid = jObj.getString("groupid");
                    JSONArray obj =jObj.getJSONArray("history");
                    if (obj != null) {
                        for (int i=0;i<obj.length();i++){
                            listdata.add(obj.get(i).toString());
                        }
                    }


                    GroupAdapter gAdapter=new    GroupAdapter(HistoryUser.this,listdata);
                    lvHistory.setAdapter(gAdapter);

                    Log.d("main", "New group  " + obj);

                }
                else {

                    // Error occurred in registration. Get the error
                    // message
                    String errorMsg = jObj.getString("error_msg");
                    Toast.makeText(getApplicationContext(),
                            errorMsg, Toast.LENGTH_LONG).show();
                }
            }catch (JSONException e) {
                e.printStackTrace();
            }
        }
    },new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e("MainAct", "group Error: " + error.getMessage());
            Toast.makeText(getApplicationContext(),
                    error.getMessage(), Toast.LENGTH_LONG).show();
            hideDialog();
        }
    }){
        @Override
        protected Map<String, String> getParams() {
            // Posting params to register url
            Map<String, String> params = new HashMap<String, String>();
            params.put("tag", "gethistory");
            //  params.put("name", name);
            params.put("email", em);


            // params.put("password", password);

            return params;
        }

    };

    // Adding request to request queue
    AppController.getInstance().addToRequestQueue(strReqLocation, tag_string_location);
}
private void getHistory(最终字符串em){
String tag\u String\u location=“group\u history”;
setMessage(“获取组成员历史记录…”);
showDialog();
StringRequest streqlocation=新的StringRequest(Request.Method.POST,
Config_URL.URL_寄存器,new Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.d(“Activity_main”,“获取组历史记录”+response.toString());
hideDialog();
试一试{
JSONObject jObj=新的JSONObject(响应);
布尔错误=jObj.getBoolean(“错误”);
如果(!错误){
//String groupid=jObj.getString(“groupid”);
JSONArray obj=jObj.getJSONArray(“历史”);
如果(obj!=null){
对于(int i=0;i

现在您应该能够提取所需的任何数据了

试试这个,使用json_解码


到目前为止,您自己尝试了什么?json_decode将为您提供阵列可能我们只需查看带有json标记的几乎所有答案我正在为相同的电子邮件id每小时在同一个表中插入新数据。我想为相同的电子邮件id获取每一行。可能重复
$x = '{"history":[["2","mega@gmail.com","21.2299924","72.8247365","1479718230719"],["3","mega@gmail.com","21.2299926","72.8247346","1479718265453"],["4","mega@gmail.com","21.2299924","72.8247345","1479719800472"],["5","mega@gmail.com","21.2299927","72.8247354","1479720302919"],["6","mega@gmail.com","21.2299926","72.8247344","1479720880373"],["7","mega@gmail.com","21.2299926","72.8247343","1479721139992"]]}';
echo "<pre>";
print_r(json_decode($x, true)); 
exit;
Array
(
    [history] => Array
        (
            [0] => Array
                (
                    [0] => 2
                    [1] => mega@gmail.com
                    [2] => 21.2299924
                    [3] => 72.8247365
                    [4] => 1479718230719
                )

            [1] => Array
                (
                    [0] => 3
                    [1] => mega@gmail.com
                    [2] => 21.2299926
                    [3] => 72.8247346
                    [4] => 1479718265453
                )

            [2] => Array
                (
                    [0] => 4
                    [1] => mega@gmail.com
                    [2] => 21.2299924
                    [3] => 72.8247345
                    [4] => 1479719800472
                )

            [3] => Array
                (
                    [0] => 5
                    [1] => mega@gmail.com
                    [2] => 21.2299927
                    [3] => 72.8247354
                    [4] => 1479720302919
                )

            [4] => Array
                (
                    [0] => 6
                    [1] => mega@gmail.com
                    [2] => 21.2299926
                    [3] => 72.8247344
                    [4] => 1479720880373
                )

            [5] => Array
                (
                    [0] => 7
                    [1] => mega@gmail.com
                    [2] => 21.2299926
                    [3] => 72.8247343
                    [4] => 1479721139992
                )

        )

)
$data = json_decode($json, true);
foreach($data as $val)
{
    foreach($val as $dat_val)
    {       
        print_r($dat_val);
        echo "\n";
    }
}