【问题标题】:How to filtering complex json file in Javascript如何在Javascript中过滤复杂的json文件
【发布时间】:2021-08-08 14:33:05
【问题描述】:

data = JSON.parse(data);
           console.log(data.Jobs[0].Job.Settings.Inputs[0].FileInput)
           ftr = data.Jobs
           rslt = ftr.filter(function(element){
             return element.Job.Settings.Inputs[0].Fileinput == 's3://transvideo-source71e471f1-knewdmajkw29/assets01/Pexels Videos 2219383.mp4';

            });

我想通过过滤对象类型数据来获得一个数组元素(使用 JSON.parse(data))

我无法得到过滤的元素,只是得到下面的错误消息

Error [TypeError]: Cannot read property 'Settings' of undefined

如何使用'Fileinput'(element.Job.Settings.Inputs[0].Fileinput) 获取过滤后的数据

【问题讨论】:

标签: javascript json amazon-web-services amazon-s3 filter


【解决方案1】:

您正在过滤data.Jobs,它是Job 的数组。但是,您正尝试再次访问element.Job。换句话说,您正在尝试访问Job.Job,这就是它未定义的原因。

const rslt = data.Jobs.filter( Job => Job.Settings.Inputs[0].Fileinput == 's3://...2219383.mp4');

【讨论】:

  • 好的,谢谢你的酷回答,我理解错误的原因。但我仍然收到错误消息`错误 [TypeError]:无法读取未定义的属性“输入”`
【解决方案2】:
const rslt = data.Jobs.filter( Job => Job.Settings.Inputs[0].Fileinput == 's3://...2219383.mp4');

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
猜你喜欢
  • 2016-09-11
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多