Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 如何在angular中更改json响应格式_Javascript - Fatal编程技术网

Javascript 如何在angular中更改json响应格式

Javascript 如何在angular中更改json响应格式,javascript,Javascript,我用的是角2+ api json响应如下所示 { data:[ {name: "2020-04-28", value: "1", label: "current"} {name: "2020-04-28", value: "2", label: "target"} {name: "2020-04-29", value: "2", label: "current"} {name: "2020-04-29", value: "3", label: "target"}

我用的是角2+

api json响应如下所示

{
 data:[
   {name: "2020-04-28", value: "1", label: "current"}
   {name: "2020-04-28", value: "2", label: "target"}
   {name: "2020-04-29", value: "2", label: "current"}
   {name: "2020-04-29", value: "3", label: "target"}
   {name: "2020-04-30", value: "6", label: "current"}
   {name: "2020-04-30", value: "7", label: "target"}
 ]
}
我必须将上述api响应格式更改为

  {
   data: [
    {
      name: "Current",
      value: [1, 2, 6]
    },
    {
      name: "Target",
      value: [2, 3, 7]
    }
  ]
 }

有人能帮我改变json响应的格式吗?请给我解释,让我理解代码

试着做这样的事情

首先安装,然后您可以使用此代码

let data = {
 data:[
   {name: "2020-04-28", value: "1", label: "current"},
   {name: "2020-04-28", value: "2", label: "target"},
   {name: "2020-04-29", value: "2", label: "current"},
   {name: "2020-04-29", value: "3", label: "target"},
   {name: "2020-04-30", value: "6", label: "current"},
   {name: "2020-04-30", value: "7", label: "target"}
 ]
}

let dataGroup = _.groupBy(data.data, "label")
let loopNo = Object.keys(_.groupBy(data.data, "label"))
console.log("a", loopNo)
let formatedDate = []
for(let i in loopNo) {
    formatedDate.push({
        "name": i,
        "value": datagroup[i]
    })
}
风险值数据={ 数据:[ {名称:2020-04-28,值:1,标签:current}, {名称:2020-04-28,值:2,标签:target}, {名称:2020-04-29,值:2,标签:当前}, {名称:2020-04-29,值:3,标签:target}, {名称:2020-04-30,值:6,标签:当前}, {名称:2020-04-30,值:7,标签:target} ] } var storeArray=[] 变量filterData=[]; data.data.forEacheach=>{ if!storeArray.includeseach.label{ storeArray.pusheach.label; filterData.push{ 名称:each.label, 值:[每个值] }; }否则{ filterData[storeArray.indexOfeach.label].value.pusheach.value; } } console.logfilterData 设x={ 数据:[ {名称:2020-04-28,值:1,标签:current}, {名称:2020-04-28,值:2,标签:target}, {名称:2020-04-29,值:2,标签:当前}, {名称:2020-04-29,值:3,标签:target}, {名称:2020-04-30,值:6,标签:当前}, {名称:2020-04-30,值:7,标签:target}, {名称:2020-04-30,值:8,标签:target}, {名称:2020-04-30,值:9,标签:get} ] }; 设obj={ 数据:[] }; 函数setCharAtstr,索引,chr{ 如果index>str.length-1返回str; 返回str.substr0,index+chr+str.substrindex+1; } x、 data.forEachitem=>{ 让index=obj.data.findIndexdi=>{return di.name==setCharAtitem.label,0,item.label.charAt0.toUpperCase}; 如果索引>-1{ obj.data[index].value.pushitem.value; }否则{ obj.data.push{ 名称:setCharAtitem.label,0,item.label.charAt0.toUpperCase, 价值:[项目价值] }; } };
console.logJSON.stringifyobj 这可能是一种幼稚的、未经优化的方法,但它是有效的

常数数据={ 数据:[ {名称:2020-04-28,值:1,标签:current}, {名称:2020-04-28,值:2,标签:target}, {名称:2020-04-29,值:2,标签:当前}, {名称:2020-04-29,值:3,标签:target}, {名称:2020-04-30,值:6,标签:当前}, {名称:2020-04-30,值:7,标签:target} ] }; 让newData=[] data.data.foreach=>{ ifnewData.length==0{ newData.push{ 名称:e.label, 价值:[即价值] }; }否则{ 让foundIndex=newData.findIndexfi=>fi.name==e.label; iffoundIndex>=0{ newData[foundIndex].value.push.value; }否则{ newData.push{ 名称:e.label, 价值:[即价值] }; } } }; console.lognewData 使用JSON.parse,如下所示

var txt = '{"name":"John", "age":30, "city":"New York"}'
var obj = JSON.parse(txt);
document.getElementById("demo").innerHTML = obj.name + ", " + obj.age;

这回答了你的问题吗?