我希望我的问题不像我想的那样愚蠢......
我想从JSONarray中提取单个变量(的值)。我有这个jquery代码
$(document).ready(function(){
$("#gb_form").submit(function(e){
e.preventDefault();
$.post("guestbook1.php",$("#gb_form").serialize(),function(data){
if(data !== false) {
var entry = data;
$('.entries').prepend(entry);
}
});
});
});
数据内容如下所示(" MyMessage"" MyName"是用户以简单形式编写的值):
[{"消息":" MyMessage""名称":" MYNAME"}]
var"条目"应该在最后给出(或多或少)以下输出:
"从-MyName-发送:-MyMessage - "
我无法从数据中提取单个数组值。我尝试过这样的事情:
var message = data['message'];
var name = data['name']
var entry = "Send from" + name + ":" +message;
但是这给了"发送来自undefined:undefined"
希望你能帮助我。
答案 0 :(得分:5)
你可以这样做以获得数组的第一项:
var msg = "Send from"+data[0].name + " "+data[0].message;
console.log(msg );
当您使用 $。发布时,您需要以json的形式显式解析响应:
$.post("guestbook1.php",$("#gb_form").serialize(),function(data){
var response = jQuery.parseJSON(data);
var msg = "Send from"+response [0].name + " "+response [0].message;
console.log(msg );
});
答案 1 :(得分:0)
要访问数组,请使用[]
表示法
要访问对象,请使用.
表示法
如果是[{JSON_OBJECT}, {JSON_OBJECT}]
如果我们在名为data
的变量中有上述JSON对象数组,您首先需要访问数组中的特定Json对象:
data[0] // First JSON Object in array
data[1] // Second JSON Object in array.. and so on
然后要访问JSON对象的属性,我们需要这样做:
data[0].name // Will return the value of the `name` property from the first JSON Object inside the data array
data[1].name // Will return the value of the `name` property from the second JSON Object inside the data array