我试图从此JSON返回中提取文本:
{
"threaded_extended": {},
"messages": [
{
"body": {
"parsed": "the network. Take a moment to welcome Jason.",
"plain": " network. Take a moment to welcome Jason.",
"rich": "Jason."
},
"thread_id": 56,
"client_type": "Wb",
"client_url": "https://www.yammer.com/",
"system_message": true,
"direct_message": false,
"chat_client_sequence": null,
"language": "en",
"notified_user_ids": [],
"system_message_properties": {
"subtype": "created_membership"
},
"privacy": "public",
"attachments": [],
"liked_by": {
"count": 0,
"names": []
},
"content_excerpt": " Jason.",
"group_created_id": null
}
]
} 我的函数看起来像这样,但它一直说未定义 - 抱歉,如果这是一个愚蠢的问题,我的逻辑是对象是值,然后消息是一个属性,然后普通应该是一个属性。我做了些蠢事吗?感谢任何帮助
function getData(returnData){
$.each(returnData, function(key, value){
if(value != undefined){
$('#test').append(value.messages.plain);
}
});
}
答案 0 :(得分:2)
$('#test').append(value.messages[0].plain);
messages
是一个数组,因此您需要提供一个索引。
编辑:我认为returnData
是一个数组,如果不是你正在循环错误的对象。循环遍历returnData.messages
。得到value.body.plain
答案 1 :(得分:1)
通过returnData.messages迭代对象中的数组。然后,您可以访问数组中的每个消息项,而普通值在body.plain上为每个值
function getData(returnData){
$.each(returnData.messages, function(key, value){
if(value != undefined){
$('#test').append(value.body.plain);
}
});
}