当前位置: 首页 > 面试题库 >

使用jQuery Ajax解析对象的PHP数组

谭昕
2023-03-14
问题内容

我正在尝试从数据库中将包含数据的对象数组放入jquery中以呈现在网站上。

例如:example.php

<?php
function testFunction() {

$data = array()
$mydata = new stdClass;
$mydata->example = 'test';
$data[] = $mydata
return json_encode($data);
}

echo testFunction();
?>

前index.html

<script>
$.ajax({
                    type: 'POST',
                    url: 'example.php',
                    data: {map: map},   
                    cache: false,
                    dataType: 'json',                 
                    success: function(response) {
                      console.log(response[0].example);
                    }
});

</script>

输出:

console.log(response);

[“测试”,$ family:函数,$ constructor:函数,每个:函数,克隆:函数,干净:函数…]

console.log(response [0] .example);

未定义

因此,从本质上讲,我收到的响应很好,当我记录它时,它给出了一个有意义的结构。但是我似乎找不到在数组中访问对象的正确方法,我上面的示例仅返回未定义。请问正确的语法是什么?


问题答案:

您需要JSON.parse(response);响应。然后,您应该可以像需要的那样访问它。

var parsed_reply = JSON.parse(response);

编辑实际查看代码后:

PHP

<?php

$data['example'] = "test";

echo json_encode($data);

?>

JAVASCRIPT

<script>
$.ajax({
                type: 'POST',
                url: 'example.php',
                data: {map: map},   
                cache: false,
                dataType: 'json',                 
                success: function(response) {
                  console.log(response['example']);
                }
});

</script>

输出:“测试”



 类似资料:
  • 问题内容: 我试图从提供格式数据的Web服务请求天气。我的PHP请求代码失败了: 这是返回的一些数据。为了简洁起见,一些细节已被截断,但保留了对象完整性: 问题答案: 这似乎起作用: 如果将json_decode的第二个参数设置为true,则会得到一个数组,因此无法使用->语法。我还建议您安装JSONview Firefox扩展 ,以便您可以以类似于 Firefox显示XML结构的漂亮格式的树状视

  • 我正在将Jackson从1.9.4升级到2.2.0。过渡非常顺利,只是我似乎无法对对象进行数组解析。在1.9.4中,我可以这样做: 在Jackson 2.2.0中,我得到了一个“无法解析方法”编译时错误。Jackson 1.9.4的ObjectMapper头文件包含以下JsonNodes的readValue方法: 和Jackson 2.2.0的头文件: 所以我需要从传递JsonNode切换到Jso

  • 我正在做一个项目,我正在与返回JSON响应的第三方服务集成。我正在使用Jackson将响应反序列化为JavaPOJO。响应是一个对象,它有几个Jackson能够轻松解析的简单字段。但是响应还包含一个带有单个条目的数组,该条目也是一个对象。当Jackson尝试反序列化它时,我得到了包含列表中单个条目的顶级对象,但是列表中单个条目的所有字段都是空的。知道我在这里做错了什么吗? 更新:将FAIL\u O

  • 问题内容: 我有一个包含对象的json数组的文件: [{“ test1”:“ abc”},{“ test2”:[1,2,3]}] 我希望使用Jackson的JsonParser来从此文件中获取输入流,并且在每次调用.next()时,我希望它从数组中返回一个对象,直到用完对象或失败为止。 这可能吗? 用例:我有一个带有json数组的大文件,其中填充有大量具有不同架构的对象。我想一次获得一个对象,以避

  • 问题内容: 我有一个JSON,它可以是单个对象或相同对象的数组。有没有一种方法可以使用Gson解析此数据,从而区分单个对象还是数组? 我目前唯一的解决方案是手动解析json并用try catch包围它。首先,我将尝试将其解析为单个对象,如果失败,它将引发异常,然后尝试将其解析为数组。 我不想手动解析它……那将使我永远。这是正在发生的事情的想法。 这是可以是数组或单个对象的对象。 然后在与json响

  • 问题内容: 我试图从JSON数组中获取每个JSON对象。我通过HTTP发布获得此数据。 我知道我的数据是什么样的: 我的示例代码和结构如下所示: 我不确定如何遍历JSON数组并获取JSON对象,然后仅使用JSON对象。 问题答案: 试试这个作为您的结构, 您的名称不正确,顶层名称也不正确。解码为a之后,您可以遍历切片以获取每个切片