需要帮助以使用jquery访问json字符串和对象之间的数据 - php

我对jQuery有问题,无法从jSon字符串获取每个值,并使用从jSon字符串获取的值修改div或span或其他id。

在每个PHP文件的开始处,我都有一个SQL请求生成一个隐藏的输入,并以jSon字符串作为值。这是多语言的,例如英语,生成的字符串是

<input type="hidden" id="page_json_language_home" value='{
       "label_title":"My WebSite",
       "label_settings":"Settings",
       "label_subscription":"Subscription"
       }' />

对于法语:

<input type="hidden" id="page_json_language_home" value='{
       "label_title":"Mon site web",
       "label_settings":"Parametres",
       "label_subscription":"Abonnement"
       }' />

这很好!

之后,我有一个使用jquery来将每个label_xxx与值匹配的javascript

我有很多这样的html代码

<title id="label_title></title>
<div id="label_settings"></div> 

要么

<span id="label_subscription"></span>

这是我的javascript文件中的我的(部分)代码,我叫我从隐藏的输入中获取json字符串:

    var _getPageJsonLanguage = function(id) {
        if (!id)
            id = "page_json_language";
        else
            id = "page_json_language_" + id;

        var json = $("#" + id).val();
        var data = bsc.data.jsonParse(json);
        return data;
    };

这也很好!

有问题的代码是:

        data_language = bsc.page.getPageJsonLanguage("home");

        var j = 0;
        var language = [];

        for (i in data_language) {
            console.log("i in language = " + i);
            language[j] = i;
            console.log("language[j] = " + language[j]);
            $("#" + i).html(language[j]);
            j++;
        }

我可以在浏览器中获得结果1)每个标签未定义或2)每个label_xxx的label_xxx
我需要帮助来访问每个label_xxx的每个值。

我无法获取该值,这是我的最后尝试。

参考方案

我相信问题出在您的for in循环中,您从未真正获取值,而仅是关键:

for (i in data_language) {
    console.log("i in language = " + i);
    language[j] = data_language[i]; //changed this line to actually grab the value
    console.log("language[j] = " + language[j]);
    $("#" + i).html(language[j]);
    j++;
}

如果接收到undefined,则可能是由于未正确解析JSON所致。由于使用的是jQuery,因此可以始终运行$.parseJSON(json)以确保。

小提琴在for in循环中访问JSON并记录:http://jsfiddle.net/tymeJV/CKBLc/1/

json_encode网址失败 - php

有人在this bug附近吗?echo json_encode(array('url'=>'/foo/bar')); {"url":"\/foo\/bar"} 我使用Zend_Json and Zend_Json_Expr以便我甚至可以在js对象中获取回调函数-但我无法获得…

PHP Count数组元素 - php

嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…

PHP:从函数返回值并直接回显它? - php

这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…

PHP:将数据从二维数组复制到一维数组的最快方法 - php

我有一个巨大的二维PHP数组,带有500万行。$t = [ [ "id" => 1, "name" => "foo" ], [ "id" => 2, "name" => "bar" ] ]; 现在,我必须将此数组的I…

php-printf和sprintf具有不同的输出 - php

我编写了以下微型php程序来测试printf和sprintf:<?php $str_1 = printf("%x%x%x", 65, 127, 245); $str_2 = sprintf("%x%x%x", 65, 127, 245); echo $str_1 . "\n"; echo $s…