Javascript 使用JSON数组中的值
我有一个从PHP返回JSON数组的AJAX 我成功地将JSON数组返回到AJAX请求,并循环查看结果 Q.在本例中,如何使用数组中的特定值 目前,我可以将结果通知字符串 我希望能够独立使用这些值 数组以字符串形式输出:Javascript 使用JSON数组中的值,javascript,arrays,json,Javascript,Arrays,Json,我有一个从PHP返回JSON数组的AJAX 我成功地将JSON数组返回到AJAX请求,并循环查看结果 Q.在本例中,如何使用数组中的特定值 目前,我可以将结果通知字符串 我希望能够独立使用这些值 数组以字符串形式输出:{“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 my
{“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"]);
}
}
}
});
任何一套
header('Content-type: application/json');
在php中,它将告诉javascript将数据解释为JSON
或使用
JSON.parse();
在javascript中,将字符串转换为对象。首先,需要解析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,那么有一个非常棒的快捷方式可以直接作为Javascript对象获取resquest的结果。它被称为
$.getJSON()
数据已经由AJAX数据类型:“json”
检索到。我遇到的问题是,当我尝试基于键输出单个值时,它在警报中不会给我任何提示。您可以使用对象。
其中键的名称是硬编码的,也可以使用对象[i]
其中i是包含键索引的字符串。将对象[]
与
硬编码一起使用将导致调用未定义的变量
。然后您将调用object[undefined]
,这也将是未定义的。console.log(data)
是否返回字符串或对象?是的,它生成[object-object]、[object-object]、[object-object]、[object-object]、[object-object]、[object-object-object]
@andrewok,因此听起来像是嵌套了obect,所以您可以尝试(myObject中的var i){for(myObject[i]中的var j]){console.log(myObject[i][j])}
是的,这样可以一个接一个地获取每个键和值,但是没有明确的方法通过键名获取值吗?@andrewok fyimyObject[i]['btn_col u preset_title']
将实现同样的效果