jQuery JSON 和 PHP 关联数组数组问题


jQuery JSON and PHP Associative arrays arrays issues

嗨,我

想知道是否有人可以帮助我?

我有以下代码。 它从 php 文件中检索 JSON 数据。 Json 是以下格式:

{"Title":"rose","Price":1.25,"Number":15},{"Title":"daisy","Price":0.75,"Number":25},{"Title":"orchid","Price":1.15,"Number":7} 

此 JSON 是使用以下 php 代码创建的:

$shop = array();
$shop = array( array( Title => "rose", 
                  Price => 1.25,
                  Number => 15 
                ),
           array( Title => "daisy", 
                  Price => 0.75,
                  Number => 25,
                ),
           array( Title => "orchid", 
                  Price => 1.15,
                  Number => 7 
                )
         );
 echo json_encode($shop);

每当我尝试使用 obj 访问数据时。标题 我收到一条未定义的消息。

 $.ajax({
        type: "GET",
        url: "data.php",
        success: jsonDo
    });
    //JSON DATA = {"Title":"rose","Price":1.25,"Number":15},{"Title":"daisy","Price":0.75,"Number":25},{"Title":"orchid","Price":1.15,"Number":7}
    function jsonDo(data) {
        var obj = jQuery.parseJSON(data);
        alert(obj.Title)
    }

我想知道如何访问 JSON 中的键并显示数据?

谢谢一百万。

var obj = jQuery.parseJSON('{"Title":"rose","Price":"1.25","Number":"15"}');
alert(obj.Title);

这项工作。检查代码中的差异。

好的,这更正确:

var obj = [
    {"Title":"rose","Price":"1.25","Number":"15"},
    {"Title":"daisy","Price":"0.75","Number":"25"},
    {"Title":"orchid","Price":"1.15","Number":"7"}
    ];

 alert(obj[1].Title);

您必须通过将 dataType: "JSON" 参数通知 ajax() 函数来指定您需要 JSON 对象,这样就不必解析数据。

您的代码中似乎有一些 PHP 错误。这可能会导致 php 发出通知/警告,这可能会破坏 Json 输出并导致 javascript 在尝试解析它时引发错误。

正确的 jSon 输出应该是

[{"Title":"rose","Price":1.25,"Number":15},{"Title":"daisy","Price":0.75,"Number":25},{"Title":"orchid","Price":1.15,"Number":7}]

由于它在数组中,因此 JS 应该是:$.ajax({ 类型:"获取", 网址:"数据.php", 成功:jsonDo });

function jsonDo(data) {
    var obj = jQuery.parseJSON(data);
    alert(obj[0].Title)
}
你应该

只使用 jQuery 的 $.getJSON 方法:

$.getJSON('data.php',function(data) {
    alert(obj.Title);
});

尝试 obj[0]["Title"] 或 obj[0]。标题

不要忘记你已经嵌套了很多数组,yoyu需要再次以这种方式访问它们。