如何在Javascript中解析AJAX数组的特定部分


How can I parse specific parts of my AJAX array in Javascript?

我使用AJAX将一个包含许多变量数据的数组发送回我的页面以进行显示。数组现在看起来像这样:

    {"dateName":"05/18/2016","hour1":null,"hour2":null,"hour3":null,"hour4":null,"hour5":null,"hour6":null,"hour7":null,"hour8":null,"hour9":null,"hour10":null,"hour11":null,"hour12":null,"hour13":null,"hour14":null,"hour15":null,"hour16":null,"hour17":null,"hour18":null,"hour19":null,"hour20":null,"hour21":null,"hour22":null,"hour23":null,"hour24":null}

现在我正在使用在我的数据框中显示阵列的各个部分

            //AJAX Data
            success: function(data) {
            var array = data.split(",");
            $("#date").html(array[0]);
            i = 0;
                while (i < 25) {
                $("#hour"+i).html(array[i]);
                i++;
                }

这会在我的网页上显示这样的数据

"hour1":"sleep"

正如您所看到的,引号中的变量名和通过ajax传递的变量值。但我只想要

睡眠

显示(没有引号,没有变量)。如何从显示的数据中获取变量名和引号?

非常感谢!

使用此

$.ajax({url: "demo_test.txt", success: function(result){
       // $("#div1").html(result);

        var parsed = JSON.parse(result);
        alert(parsed["hour1"]);
    }});
          //AJAX Data
            success: function(data) {
            var hour = "hour";
            for(var i=0; i<data.length; i++) {
              hour += i;
              console.log(data.hour)
            }

在stackexchange的一些出色成员的帮助下,我终于学会了如何发送ajax、回调多个变量,并将它们干净地排列在我的页面上。附件是我的代码,我希望这能帮助到未来的用户。

//SEND MULTIPLE DATA THROUGH AJAX
        <script>
        function ajax() {
            $.ajax({
                type: "POST",
                url: "changeDate.php",
                data: {
                    amount: changeDate,
                    loginName: "benjamin_lawson"
                },
                success: function(result) {
                    //make array out of data
                    var array = JSON.parse(result);
                    $("#date").html(array[0]);
                    i = 0;
                    while (i < 25) {
                        //call array information for parts
                        $("#hour"+i).html(array[i]);
                        i++;
                        }
                    }
                });
            }
        </script>
        <?php
            //create the array
                $response_arr = array();
            //add your variables to the array
                $response_arr[] = date("m/d/Y", strtotime("+" . $amount . " day"));
                $response_arr[] = $row[$dateName];      
            //echo the final array to be sent to your ajax
                echo json_encode($response_arr);
        ?>
success: function(data) {
   var json_obj =JSON.parse(data)
   $("#date").html(json_obj['datename']);
   i = 0;
   while (i < 25) {
     $("#hour"+i).html(json_obj['hour'+i]);
     i++;
   }
}

您可以使用JSON.parse将字符串转换为JSON-obj:

json_obj=json.parse(数据)$("#date").html(json_obj['']);