Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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_Json_Node.js - Fatal编程技术网

Javascript 尝试更改/匹配JSON对象

Javascript 尝试更改/匹配JSON对象,javascript,json,node.js,Javascript,Json,Node.js,我想我不应该在这方面遇到麻烦,但我是。我试图切换JSON对象的语法/变量以匹配特定参数 以下是我正在使用的JSON: { "name":"BHPhotovideo", "prices":[ { "price":"799.00", "createdAt":"2017-07-23T16:17:11.000Z", "updatedAt":"2017-07-23T17:21:41.000Z" },

我想我不应该在这方面遇到麻烦,但我是。我试图切换JSON对象的语法/变量以匹配特定参数

以下是我正在使用的JSON:

{  
   "name":"BHPhotovideo",
   "prices":[  
      {  
         "price":"799.00",
         "createdAt":"2017-07-23T16:17:11.000Z",
         "updatedAt":"2017-07-23T17:21:41.000Z"
      },
      {  
         "price":"770.00",
         "createdAt":"2017-07-21T16:17:11.000Z",
         "updatedAt":"2017-07-23T16:17:11.000Z"
      },
      {  
         "price":"599.00",
         "createdAt":"2017-07-19T16:17:11.000Z",
         "updatedAt":"2017-07-22T16:17:11.000Z"
      },
      {  
         "price":"920.00",
         "createdAt":"2017-07-22T16:17:11.000Z",
         "updatedAt":"2017-07-22T16:17:11.000Z"
      }
   ]
},
etc...

我只是想把数据格式化成这样:

{  
   "label":"BHPhotoVideo", // Same as name
   "data":[  
      {  
         "x":"2017-07-23T16:17:11.000Z", // Same as createdAt
         "y":799 // Same as price
      },
      {  
         "x":"2017-07-21T16:17:11.000Z",
         "y":770
      },
      {  
         "x":"2017-07-19T16:17:11.000Z",
         "y":599
      },
      {  
         "x":"2017-07-22T16:17:11.000Z",
         "y":920
      }
   ]
},
etc...

这些对象的数量是动态的/可能会发生变化,我一直在把foreach循环弄得一团糟,并试图将其拼凑起来。我总是犯错误,最好的方法是什么

这个怎么样

data.map(
   (item) => ({
       "label":"BHPhotoVideo", // Same as name
       "data": item.prices.map(nested => ( {  
         "x":nested.createdAt,
         "y":nested.price
      }))
   })
)
这个怎么样

data.map(
   (item) => ({
       "label":"BHPhotoVideo", // Same as name
       "data": item.prices.map(nested => ( {  
         "x":nested.createdAt,
         "y":nested.price
      }))
   })
)

您希望y值是整数吗

var-ar=[
{
“名称”:“BHPhotovideo”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-23T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“770.00”,
“createdAt”:“2017-07-21T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“599.00”,
“createdAt”:“2017-07-19T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“920.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
},
{
“姓名”:“Adorama”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-20T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“810.00”,
“createdAt”:“2017-07-18T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-17T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
}
];
var out=ar.map(函数(a){
返回{
“标签”:一个名字,
“prices”:a.prices.map(函数(aa){return{x:aa.createdAt,y:aa.price}})
}
});

控制台。注销是否希望y值为整数

var-ar=[
{
“名称”:“BHPhotovideo”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-23T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“770.00”,
“createdAt”:“2017-07-21T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“599.00”,
“createdAt”:“2017-07-19T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“920.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
},
{
“姓名”:“Adorama”,
“价格”:[
{
“价格”:“799.00”,
“createdAt”:“2017-07-22T16:17:11.000Z”,
“更新日期”:“2017-07-23T17:21:41.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-20T16:17:11.000Z”,
“更新日期”:“2017-07-23T16:17:11.000Z”
},
{
“价格”:“810.00”,
“createdAt”:“2017-07-18T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
},
{
“价格”:“799.00”,
“createdAt”:“2017-07-17T16:17:11.000Z”,
“更新日期”:“2017-07-22T16:17:11.000Z”
}
]
}
];
var out=ar.map(函数(a){
返回{
“标签”:一个名字,
“prices”:a.prices.map(函数(aa){return{x:aa.createdAt,y:aa.price}})
}
});

控制台。注销
在返回已更改对象的原始数组上映射
;使用
map
返回名称和新数组

const obj2 = obj.map((item) => {
  return {
    label: item.name,
    data: item.prices.map((data) => {
      return {
        x: data.createdAt,
        y: data.price
      }
    })
  }
});

映射到返回更改对象的原始数组上;使用
map
返回名称和新数组

const obj2 = obj.map((item) => {
  return {
    label: item.name,
    data: item.prices.map((data) => {
      return {
        x: data.createdAt,
        y: data.price
      }
    })
  }
});

向我们展示您的尝试。这是一个非常简单的转换,可能会重复您的尝试。这是一个非常简单的转换,可能是Wow的复制,数据映射是一件事。不知道我怎么会错过。这是完美的,对它做了一点修改,非常适合我的应用。谢谢哇,数据映射是一件事。不知道我怎么会错过。这是完美的,对它做了一点修改,非常适合我的应用。谢谢