-1

在这里工作演示:http: //jsfiddle.net/8Q4Lf/3/

我正在检索json上的数组并将其存储在一个隐藏input的函数中:

$.post("http://"+ document.domain + baseUrl + "/tickets/getCategoryDepartmentRelation/",
    function(dat){
        $('#departmentsByCategory_array').val(JSON.stringify(dat));         
});

调用返回此值:

{
    "Investigation Request": [
        "Client server",
        "Interface",
        "Engine"
    ],
    "Configure Planning": [
        "Interface",
        "Engine"
    ],
    "Bug Report": [
        "Client server",
        "Interface",
        "Engine",
        "Database"
    ],
    "Development Request": [
        "Interface",
        "Dev Management",
        "Database",
        "Client server",
        "Engine"
    ],
    "Suggestion Box": [
        "Dev Management"
    ],
    "Post Site Feedback": [
        "Web"
    ]
}

这是json这个数组的表示:

Array
(
    [Investigation Request] => Array
        (
            [0] => Client server
            [1] => Interface
            [2] => Engine
        )

    [Configure Planning] => Array
        (
            [0] => Interface
            [1] => Engine
        )

    [Bug Report] => Array
        (
            [0] => Client server
            [1] => Interface
            [2] => Engine
            [3] => Database
        )

    [Development Request] => Array
        (
            [0] => Interface
            [1] => Dev Management
            [2] => Database
            [3] => Client server
            [4] => Engine
        )

    [Suggestion Box] => Array
        (
            [0] => Dev Management
        )

    [Post Site Feedback] => Array
        (
            [0] => Web
        )

)

input用以下数据填充:

<input type="hidden" name="demo" value="{&quot;Investigation Request&quot;:[&quot;Client server&quot;,&quot;Interface&quot;,&quot;Engine&quot;],&quot;Configure Planning&quot;:[&quot;Interface&quot;,&quot;Engine&quot;],&quot; Bug Report&quot;:[&quot;Client server&quot;,&quot;Interface&quot;,&quot;Engine&quot;,&quot;Database&quot;],&quot; Development Request&quot;:[&quot;Interface&quot;,&quot;Dev Management&quot;,&quot;Database&quot;,&quot;Client server&quot;,&quot;Engine&quot;],&quot;Suggestion Box&quot;:[&quot;Dev Management&quot;],&quot;Ticket Site Feedback&quot;:[&quot;Web&quot;]}" id="departmentsByCategory_array">

我可以用这个得到完整的数组:

$('#departmentsByCategory_array').val();

但我试图只检索一个元素的值,例如"Configure Planning"

如何在 Javascript 或 jQuery 中使用这些值?(循环,比较...)

4

2 回答 2

2

我发现了这个问题。您在 json 表示中返回了一个额外的空间,所以它是" Bug Report"您想要访问的,而不是 "Bug Report".

alert(data[' Bug Report']);

此处修改小提琴:http: //jsfiddle.net/8Q4Lf/2/

钥匙也是如此" Development Request"

alert(data[' Development Request']);
于 2012-12-05T11:35:57.197 回答
1
var data = JSON.parse($('#departmentsByCategory_array').val());
data['Configure Planning']; //returns Configure Planning array
于 2012-12-05T10:58:32.643 回答