访问数据结构中的元素

Accessing elements within a data structure

本文关键字:元素 数据结构 访问      更新时间:2023-09-26

我搜索得很好,但被难住了。 这可能是一个简单的答案,但经过本周迄今为止的 80 个小时的工作,我就是看不到它......

在我的应用程序中,我将一些变量传递给 Web 服务,该服务将传回包含键/值对的单个结构。

$.ajax({
    type: "POST",
    url: "it_submitcall.php",
    data: {callService: "getcall", callid: $("#callNumber").val()},
    dataType: "HTML",
    success: function(data){
        //do stuff here
    },
    error: function(data){
        // unable to communicate with web service stuff here
    }
});

我得到的回复是

Array
(
    [CALLID] => 44497
    [CALLERNAME] => Chris
    [TEAMID] => 1175
)

如何在 javascript 中访问上述元素? 任何指示将不胜感激...

非常感谢。

在 PHP 端使用 json_encode 将数组转换为 JSON,例如:

<?php
    $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
    echo json_encode($arr);
?>

然后在 JavaScript 端使用 JSON.parse() 来获取 JavaScript 对象 - 在您的情况下:

success: function(data){
    var obj = JSON.parse(data);
},

正如@phenomnomnominal所指出的,你可以在PHP对象上使用json_encode()将其转换为JSON(值得注意的是,json_decode()将其从JSON转换为PHP对象)

一旦你把它记下来了,PHP和JS的类似"哈希"的对象就很像了(在PHP中,我们称之为关联数组,在JavaScript中,我们称之为对象文字)。

在 php 中,您可以访问如下所示的数组$your_var

$value = $your_var[ 'key' ];

您还可以使用变量:

$key = 'key';
$value = $your_var[ $key ];

在 JavaScript 中,它非常相似:

var value = your_var[ 'key' ];

或者:

var key = 'key';
var value = your_var[ key ];

当您不需要对密钥的可变访问时,还有一种语法非常有用且更有效:

var value = your_var.key