Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从JSON中筛选特定元素_Javascript - Fatal编程技术网

Javascript 从JSON中筛选特定元素

Javascript 从JSON中筛选特定元素,javascript,Javascript,我有一个函数,在其中我使用API和dispay JSON 我想要的是,只过滤JSON中的某些特定元素,而不是所有元素 我该怎么做 提前谢谢你的帮助 function getAllIssueForSCII(){ var options = { method: 'GET', url: '***', headers: { 'Accept': 'application/json',

我有一个函数,在其中我使用API和dispay JSON

我想要的是,只过滤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