如何过滤此聊天记录?

时间:2019-08-15 20:02:01

标签: javascript html json

我有以下JSON文件“ messages.json:”

[{"participants": ["a", "b"], 
"conversation": [{"sender": "b", 
"created_at": "2019-08-15T19:34:24.551116+00:00",
"text": "Not so much..."},
{"sender": "a",
"created_at": "2019-08-15T19:34:14.562795+00:00",
"text": "Good! How was yours?"},
{"sender": "b",
"created_at": "2019-08-15T19:33:47.386847+00:00",
"text": "How was your day?"}]},
{"participants": ["c", "b"],
"conversation": [{"sender": "c", "created_at": "2019-08-15T19:33:22.069005+00:00",
"text": "Hi!"},
{"sender": "b",
"created_at": "2019-08-15T19:33:05.571631+00:00", "text": "Hello"}]}]

这是C人的“聊天记录”。我该如何使用JavaScript过滤掉他/她从 c 人收到的消息? HTML的身体?我在页面中包含了jQuery。

我自己做了一些尝试,但似乎无法使它起作用。

编辑1:把手放在笔记本电脑上,这就是我所拥有的。

var a=$(json).filter(function (i,n){return 
n.participants==="c","b"});
for (var i=0;i<a.length;i++)
  {
    alert(a[i].text[1]);
}

很明显,我有一些我不知道如何解决的问题。首先,我不知道如何仅过滤来自 c 已收到的消息,也不知道如何在HTML正文中显示所有消息。如果有人可以帮助我,那就太好了。

1 个答案:

答案 0 :(得分:0)

let data = messages_json;
let result = data.map(value=>value.conversation.filter(item=>item.sender=="c"));

您也可以像这样使用jquery来更改innerText

<p id="msg"></p>
<script>$("#msg").text(result)</script>