Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 使对象关键帧成为等效子对象中的值_Javascript_Jsonpath - Fatal编程技术网

Javascript 使对象关键帧成为等效子对象中的值

Javascript 使对象关键帧成为等效子对象中的值,javascript,jsonpath,Javascript,Jsonpath,我有一个复杂的对象,其中每个对象属性的键实际上应该是一个值。因此,我试图将其转换为: { "2019-04-24T00:00:00Z": { "one": 185, }, "2019-04-25T00:00:00Z": { "one": 207, } } 为此: { { "date": "2019-04-24T00:00:00Z", "one": 185, }, { "date": "2019-04-25T00:00:00Z"

我有一个复杂的对象,其中每个对象属性的键实际上应该是一个值。因此,我试图将其转换为:

{
  "2019-04-24T00:00:00Z": {
    "one": 185,
  },
  "2019-04-25T00:00:00Z": {
    "one": 207,
  }
}
为此:

{
  {
    "date": "2019-04-24T00:00:00Z",
    "one": 185,
  },
  {
    "date": "2019-04-25T00:00:00Z",
    "one": 207,
  }
}
我已尝试粘贴了一个片段

var obj2={“all”:[{“branchname”:[{“branchname”:“NAN”,“main”:[{“mainName”:“FirstOne”,“plName”:[{“metrics”:{“2019-04-24T00:00:00Z”:{“one”:185,“two”:143697,“three”:126161,“four”:3909,“five”:0,“sex”:0.2304,“seven”:30.72,“eight”:13.333,“nine”:1.165,“2019-04-250:00:00Z”:{“one”:207,“two”:50819,“three”:16428,“five”:2820:329,“七”:57.166,“八”:15.442,“九”:1.422}}}}}]};
var json2=jsonPath(obj2,“$.all..branchs..mains..[*].plName[*].metrics.”);
var found=Object.keys(json2).find(函数(layerKey){
log(json2[layerKey]);
});
对于(变量i=0;ii.日期=prop);
json2[i][“日期”]=prop;
}
}
//json2.map(i=>i.Date=prop);
console.log(json2);
试试这个:

const a={
“2019-04-24T00:00:00Z”:{
“一”:185,
},
“2019-04-25T00:00:00Z”:{
“一”:207,
}
}
const result=Object.keys(a).reduce((acc,ele)=>acc=[…acc,{date:ele,one:a[ele].one}]);
console.log(结果);
现在开始:

var示例={“2019-04-24T00:00:00Z”:{“一”:185},“2019-04-25T00:00:00Z”:{“一”:207}
var结果=[]
for(示例中的var键){
var objectCopy=JSON.parse(JSON.stringify(示例[key]);
objectCopy['date']=键;
结果:推送(objectCopy);
}
console.log(结果)

您可以尝试使用嵌套的
映射

var obj2={“all”:[{“branchname”:[{“branchname”:“NAN”,“main”:[{“mainName”:“FirstOne”,“plName”:[{“metrics”:{“2019-04-24T00:00:00Z”:{“one”:185,“two”:143697,“three”:126161,“four”:3909,“five”:0,“sex”:0.2304,“seven”:30.72,“eight”:13.333,“nine”:1.165,“2019-04-250:00:00Z”:{“one”:207,“two”:50819,“three”:16428,“four”:2820:329,“,”七:57.166,“八”:15.442,“九”:1.422}}}}}]};
var json2=jsonPath(obj2,“$.all..branchs..mains..[*].plName[*].metrics”);
var result=json2.map(e=>
Object.keys(e.map)(m=>Object.assign(e[m]){
数据:m
}))
)
console.log(结果)

您可能需要一个数组作为输出,因为您提供的输出不是有效的js对象文本

const obj={“2019-04-24T00:00:00Z”:{“一”:185,},“2019-04-25T00:00:00Z”:{“一”:207,};
const newArr=Object.keys(obj.map)(item=>({…obj[item],date:item}));
console.log(newArr);
对我来说,这是实现目标最自然的方式:

var obj2={“all”:[{“branchname”:[{“branchname”:“NAN”,“main”:[{“mainName”:“FirstOne”,“plName”:[{“metrics”:{“2019-04-24T00:00:00Z”:{“one”:185,“two”:143697,“three”:126161,“four”:3909,“five”:0,“sex”:0.2304,“seven”:30.72,“eight”:13.333,“nine”:1.165,“2019-04-250:00:00Z”:{“one”:207,“two”:50819,“three”:16428,“four”:2820:329,“,”七:57.166,“八”:15.442,“九”:1.422}}}}}]};
var json2=jsonPath(obj2,“$.all..branchs..mains..[*].plName[*].metrics.”);
const res=json2.map(item=>Object.entries(item.map)([date,obj])=>({……obj,date}));
console.log(res);
.as控制台包装{最小高度:100%}

“我有一个复杂的JSON字符串“您显示的是对象文字,而不是字符串。这不是有效的javascript输出。是否改为使用数组?@DanielA.White是。数组将是保存在JSON文件中的输出。问题语句具有误导性:我正在尝试转换此。。。对此。。。可能被视为预期结果,而接受的答案上下文略有不同。如果这个问题的长期价值很重要的话,我会重新表述这个简洁明了的答案