Javascript 将{Object}的嵌套[Array]转换为>;{Object}JSON文件
我是JSON数据操作新手,希望得到一些帮助 我有一个JSON文件,如下所示:Javascript 将{Object}的嵌套[Array]转换为>;{Object}JSON文件,javascript,arrays,json,object,Javascript,Arrays,Json,Object,我是JSON数据操作新手,希望得到一些帮助 我有一个JSON文件,如下所示: [ { "plannification": { "Data": 1, "DataType": "GB", "InclusionOption1": ".", "Default": false, "PropositionId": "GBT13456", "EssentialLink": "greatpdf.com/pdf.pdf",
[
{
"plannification": {
"Data": 1,
"DataType": "GB",
"InclusionOption1": ".",
"Default": false,
"PropositionId": "GBT13456",
"EssentialLink": "greatpdf.com/pdf.pdf",
"Term": "1",
"Segment": "part",
"Id": "653284",
}
},
{
"plannification": {
"Data": 1,
"DataType": "FR",
"inclusionOption1": ".",
"default": false,
"PropositionId": "FRT13456",
"EssentialLink": "greatpdf.com/pdf2.pdf",
"term": "1",
"Segment": "pro",
"Id": "984532",
}
}
]
我想将此文件转换为对象,并仅从“段”中提取数据:“pro”,
,如下所示:
{
984532:{
Segment: "pro",
EssentialLink: "greatpdf.com/pdf.pdf",
PropositionId: "FRT13456",
},
etc.. {},
}
我从哪里开始 1-读取json文件
2-迭代对象数组
3-对于每个对象,检查所需的属性
4-如果它与您想要的匹配,请读取对象的属性并构造您的对象您的数据结构无效,首先,请更正您编写对象json数组的方式,以便我可以计算出您可以使用
段
上的数组#过滤器
对数组进行过滤,其中值为pro
。您可以使用array#reduce
遍历数组,并使用Object#values()
取出每个对象的值并创建新对象
const data=[{“plannification”:{“data”:1,“DataType”:“GB”,“InclusionOption1”:“,“Default”:false,“PropositionId”:“GBT13456”,“essentialink”:“greatpdf.com/pdf.pdf”,“Term”:“1”,“Segment”:“part”,“Id”:“653284”},{“plannification”:“data”:1,“DataType”:“FR”,“InclusionOption1”:“Default”:false,“PropositionId”:“FRT13456”、“EssentialLink”:“greatpdf.com/pdf2.pdf”、“术语”:“1”、“段”:“pro”、“Id”:“984532”、}}],
结果=数据。过滤器(o=>{
设{Segment}=Object.values(o)[0];
返回段=='pro';
}).减少((r,o)=>{
设{Id,Segment,PropositionId,essentialink}=Object.values(o)[0];
r[Id]={段,命题Id,本质k};
返回r;
},{})
console.log(result);
任何尝试过的示例您的json都无效。请按照您想要的方式正确格式化。太好了!非常感谢。这正是我要找的。现在我将找到如何使用Javascript从文件中提取,您可以参考这是来自API的,很遗憾,我无法更改结构