Javascript 按特定术语读取JSON值

Javascript 按特定术语读取JSON值,javascript,node.js,json,reactjs,web,Javascript,Node.js,Json,Reactjs,Web,我有多个JSON文件,它们都有一个“matching_terms”值。示例如下: { "calendar": [ { "id": "12345", "title": "Acme Proposal Meeting", "invitees": "dave, john, bob, carol", &quo

我有多个JSON文件,它们都有一个“matching_terms”值。示例如下:

{
  "calendar": [
    {
      "id": "12345",
      "title": "Acme Proposal Meeting",
      "invitees": "dave, john, bob, carol",
      "matching_terms": ["dave", "john", "bob", "carol", "acme"],
      "date": "2019-01-10 10:00:00"
    },
    {
      "id": "12345",
      "title": "Acme Final Delivery Meeting",
      "invitees": "dave, john, bob, alice",
      "matching_terms": ["dave", "john", "bob", "alice", "acme"],
      "date": "2019-03-01 11:00:00"
    }
  ]
}
我正在创建一个搜索栏,当从搜索栏接收到输入时,它应该遍历所有JSON文件并查找匹配的_terms值(如果给定的输入是否存在)。如果存在,则显示特定的JSON块。我正在使用React来构建它,直到现在我已经创建了一个搜索栏,接下来的步骤或事情是什么


提前感谢。

您可以像下面这样解析JSON文件。但您想要实现的是搜索具有给定值的对象。如果它有少量JSON记录,那么可以使用Javascript过滤器,否则需要某种索引算法来搜索对象

var obj=JSON.parse(`{
“日历”:[
{
“id”:“12345”,
“标题”:“Acme提案会议”,
“受邀者”:[“戴夫”、“约翰”、“鲍勃”、“卡罗尔”],
“匹配条件”:[“dave”、“john”、“bob”、“carol”、“acme”],
“日期”:“2019-01-10 10:00:00”
},
{
“id”:“1234”,
“标题”:“Acme最终交付会议”,
“受邀者”:[“戴夫”、“约翰”、“鲍勃”、“爱丽丝”],
“匹配术语”:[“dave”、“john”、“bob”、“alice”、“acme”],
“日期”:“2019-03-01 11:00:00”
}
]
}`);
console.log(对象日历[0]。被邀请者)
让searchObj=obj.calendar.filter(val=>val.id==='1234')

console.log(searchObj[0])
这应该适合您

const块={
“日历”:[
{
“id”:“12345”,
“标题”:“Acme提案会议”,
“受邀者”:“戴夫、约翰、鲍勃、卡罗尔”,
“匹配条件”:[“dave”、“john”、“bob”、“carol”、“acme”],
“日期”:“2019-01-10 10:00:00”
},
{
“id”:“12345”,
“标题”:“Acme最终交付会议”,
“受邀者”:“戴夫、约翰、鲍勃、爱丽丝”,
“匹配术语”:[“dave”、“john”、“bob”、“alice”、“acme”],
“日期”:“2019-03-01 11:00:00”
}
]
}
函数findSearchTerm(输入){
block.calendar.forEach((e,idx)=>{
if(例如,匹配_术语包括(输入)){
控制台日志(e)
}否则{
console.log(“未找到术语”)
}
})

}
到目前为止您尝试了什么?文件指的是数据条目或单独的json文件?还没有尝试过任何东西,请看一些视频了解如何操作。我指的是单独的json文件。