无法从ajax响应访问JSON字符串中的嵌套值
我知道这方面有很多问题,但没有一个答案对我有用 我通过.ajax响应从PHP返回一个enocoded JSON字符串无法从ajax响应访问JSON字符串中的嵌套值,json,ajax,filter,nested,Json,Ajax,Filter,Nested,我知道这方面有很多问题,但没有一个答案对我有用 我通过.ajax响应从PHP返回一个enocoded JSON字符串 $.ajax({ url : ajax_object.ajax_url, type : 'post', data : { action: 'rt_check_for_new_messages', uid : $uid, pid : $pid, sessionStart : $sessionSt
$.ajax({
url : ajax_object.ajax_url,
type : 'post',
data : {
action: 'rt_check_for_new_messages',
uid : $uid,
pid : $pid,
sessionStart : $sessionStart,
room_array :$roomArray,
messages_array : $messagesArray,
},
dataType : "json",
success: function(data) {
console.log(data);
在控制台里我得到
{html: "[]", messageData: "[{"roomName":"master","msgID":1638}, {"roomName":"beta","msgID":1640}]"}
所以现在我需要访问“roomName”,以便筛选匹配项
var matches = $(data).filter(function(i,n) {
return n.messageData[].roomName === 'master';
});
console.log(matches);
我尝试了我能找到的所有组合代码>不是有效的JavaScript语法 我相信这就是你需要做的:
var matches = $(JSON.parse(data.messageData)).filter(function(i,n) {
return n.roomName === 'master';
});
请注意,我正在解析data.messageData
——根据您向我们展示的consle输出,看起来messageData
是一个包含JSON的字符串,而不是一个数组