Javascript 从JSON中筛选特定元素
我有一个函数,在其中我使用API和dispay JSON 我想要的是,只过滤JSON中的某些特定元素,而不是所有元素 我该怎么做 提前谢谢你的帮助Javascript 从JSON中筛选特定元素,javascript,Javascript,我有一个函数,在其中我使用API和dispay JSON 我想要的是,只过滤JSON中的某些特定元素,而不是所有元素 我该怎么做 提前谢谢你的帮助 function getAllIssueForSCII(){ var options = { method: 'GET', url: '***', headers: { 'Accept': 'application/json',
function getAllIssueForSCII(){
var options = {
method: 'GET',
url: '***',
headers: {
'Accept': 'application/json',
'Authorization': "***"
}
};
return new Promise(function (resolve) {
request(options, function (error, response, data) {
if (!error && response.statusCode === 200) {
console.log('JIRA login success!!')
var json = JSON.parse(data);
console.log(json); // display all element JSON
resolve(json);
} else {
console.log('error: ' + response.statusCode + ': ' + data.statusMessage)
}
})
})
实际结果:
{
expand: 'schema,names',
startAt: 0,
maxResults: 50,
total: 2,
issues: [{
expand: 'operations,versionedRepresentations,editmeta,changelog,renderedFields',
id: '59032',
self: '**',
key: 'SCII-10',
fields: [Object]
},
{
expand: 'operations,versionedRepresentations,editmeta,changelog,renderedFields',
id: '59028',
self: '**',
key: 'SCII-7',
fields: [Object]
}
]
}
预期结果:
{
issues: [{
key: 'SCII-10',
fields: id: 1
name: toto
time: now
},
像这样的东西应该可以做到:
const response={expand:'schema,names',startAt:0,maxResults:50,总计:2,问题:[{expand:'operations,versionedRepresentations,editmeta,changelog,renderFields',id:'59032',self:'**',key:'SCII-10',fields:{},{expand:'operations,versionedRepresentations,editmeta,changelog,renderFields',id:'59028',self:'**',key:'SCII-7',fields:{}]};
设filterId='59032';
console.log(“过滤的问题:,{Issues:response.Issues.filter(issue=>issue.id==filterId)});
正如@Danmoreng在他的评论中提到的,您只需要浏览JSON
我猜您是javascript新手,让我向您展示:
var jj={expand:'schema,names',
startAt:0,
最大结果:50,
总数:2,
问题:
[{扩大:
'操作,VersionedPresentations,editmeta,changelog,RenderFields',
id:'59032',
自我:“**”,
关键词:“SCII-10”,
字段:[对象]},
{扩展:
'操作,VersionedPresentations,editmeta,changelog,RenderFields',
id:'59028',
自我:“**”,
关键词:“SCII-7”,
字段:[对象]}]};
var预期的_输出={};//我们声明了一个空对象
预期的_output.issues=[];//我们在对象中声明“issues”一个新字段
应为_输出。问题[0]={};//数组的第一个元素是对象
应为_输出。问题[0]。键=jj.issues[0]。键;
应为_输出。问题[0]。字段=[];
应为_输出。问题[0]。字段=jj.issues[0]。字段;
console.log(预期的_输出);
到目前为止,您尝试了什么?我不确定,但我认为我需要使用方法过滤器?您计划如何过滤它?即,基于什么标准?您已经将JSON解析为一个对象,所以您可以导航到对象中的那些项吗?这些属性是否总是在相同的结构中?您可以直接得到问题。根据对于您的代码,您可以使用json.issues