使用JSON数组中的值

时间:2014-07-19 12:18:06

标签: javascript arrays json

我有一个从PHP返回JSON数组的AJAX。

我让JSON数组成功返回到AJAX请求,我正在循环搜索结果。

问。如何在此实例中使用数组中的特定值?

目前我可以提醒结果字符串。

我希望能够独立使用这些值。

数组以字符串形式输出:{"btn_col_preset_id":"1","btn_col_preset_title":"Pink","btn_col_preset_bg":"#ff66ef","btn_col_preset_text":"#16f3ed"}

js / json

for (var i in myObject) {
    if (myObject.hasOwnProperty(i)) {
     //console.log(myObject[i]);
     // alert(JSON.stringify(myObject[i])); 
        val1 = ???; // this is what i am trying to achieve
    }
}   

更新

我正在尝试基于密钥获取单个值的完整Ajax。这会输出空警报。

$.ajax({
            type: 'POST',
            url: url, 
            dataType: 'json',

            beforeSend: function() {

            },
            success: function(data) {

                var myObject = data;

                // loop over each item
                for (var i in myObject) {
                    if (myObject.hasOwnProperty(i)) {
                       //console.log(myObject[i]);
                      // alert(JSON.stringify(myObject[i]));  
                       alert(myObject["btn_col_preset_id"]);
                    }
                }   
            }
});

2 个答案:

答案 0 :(得分:0)

设置

 header('Content-type: application/json');
在你的php中

将告诉javascript将数据解释为JSON。

或使用

 JSON.parse();

在你的javascript中将字符串转换为对象。

答案 1 :(得分:0)

首先,您需要解析JSON编码的字符串,然后您可以将其用作Javascript中的对象

var data = JSON.parse(result_of_the_request), i;
for(i in data)
{
     alert("The item '" + i + "' has a value of '" + data[i] + "'");
}

请注意,如果你正在使用jQuery,有一个很棒的快捷方式可以直接将resquest的结果作为Javascript对象获取。它被称为$.getJSON()