在Javascript中重新格式化JSON

在Javascript中重新格式化JSON,javascript,Javascript,试图重新格式化来自API查询的响应,但遇到问题。尝试映射,但不起作用 main.data.daily(symbol, 'main', 'json').then(data=> ....); 当前响应格式: 'data':{ '2018-03-13': { '1. open': '32.8500', '2. high': '33.3600', '3. low': '32.8500', '4. close': '33.1400', '

试图重新格式化来自API查询的响应,但遇到问题。尝试映射,但不起作用

main.data.daily(symbol, 'main', 'json').then(data=> ....);
当前响应格式:

'data':{
  '2018-03-13':
    { '1. open': '32.8500',
      '2. high': '33.3600',
      '3. low': '32.8500',
      '4. close': '33.1400',
      '5. volume': '834894' 
    },
    ...
 }
这是所需的格式:

[{ 
 date: '2018-03-13'
 open: 32.85, 
 high: 33.36, 
 low: 33.85,
 close: 33.14, 
 volume: 855448
},
...
]
尝试了以下方法,但没有雪茄:

data.map(val, i, data => {
            return {
                date: i,
                open: val['1. open'],
                high: val['2. high'],
                low: val['3. low'],
                close: val['4. close'],
                volume: val['5. volume']
            }
        });
风险值数据={ '2018-03-13': { “1.开放”:“32.8500”, “2.高”:“33.3600”, “3.低”:“32.8500”, “4.关闭”:“33.1400”, “5.卷”:“834894” }, } data=data.mapval,i,data=>{ 返回{ 日期:我, 打开:val['1.open'], 高:val['2.high'], 低:val['3.low'], 关闭:val['4.close'], 卷:val['5.卷'] } };
logdata您可以使用和重新格式化对象。要获得一个没有前导数字和点的新密钥,可以使用正则表达式来分隔新密钥所需的部分

var数据={'2018-03-13':{'1.开放':'32.8500','2.高':'33.3600','3.低':'32.8500','4.关闭':'33.1400','5.卷':'834894'},'2018-03-12':{'1.开放':'32.3900','2.高':'32.8050','3.低':'32.2800','4.关闭':'32.6800','5.卷':'855448'}, 结果=对象 .entriesdata .map[日期,对象]=>object.assign {date}, …Object.entriesobject.map[k,v]=>{[k.match/\w+$/]:+v} ; console.logresult;
.作为控制台包装{max height:100%!important;top:0;}您可以使用和重新格式化对象。要获得一个没有前导数字和点的新密钥,可以使用正则表达式来分隔新密钥所需的部分

var数据={'2018-03-13':{'1.开放':'32.8500','2.高':'33.3600','3.低':'32.8500','4.关闭':'33.1400','5.卷':'834894'},'2018-03-12':{'1.开放':'32.3900','2.高':'32.8050','3.低':'32.2800','4.关闭':'32.6800','5.卷':'855448'}, 结果=对象 .entriesdata .map[日期,对象]=>object.assign {date}, …Object.entriesobject.map[k,v]=>{[k.match/\w+$/]:+v} ; console.logresult;
.作为控制台包装器{最大高度:100%!重要;顶部:0;}到目前为止您尝试过什么吗?StackOverflow不是一个免费的代码编写服务,它希望您能够这样做。请更新您的问题,以显示您已经尝试过的内容,并显示您在某个问题中面临的具体问题。有关更多信息,请参阅,并注意:这个问题与Promise无关您不想重新格式化JSON。您正在尝试基于对象创建对象数组。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON。@JaromandaX-或者,到此为止。:-或者@约翰多万-请不要标记垃圾邮件。只需使用与问题真正相关的标记。添加了我试图使用的代码。到目前为止,您尝试过什么吗?StackOverflow不是一个免费的代码编写服务,它希望您能够这样做。请更新您的问题,以显示您已经尝试过的内容,并显示您在某个问题中面临的具体问题。有关更多信息,请参阅,并注意:这个问题与Promise无关您不想重新格式化JSON。您正在尝试基于对象创建对象数组。JSON是用于数据交换的文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON。@JaromandaX-或者,到此为止。:-或者@约翰多万-请不要标记垃圾邮件。只需使用与问题真正相关的标记。添加了我尝试使用的代码。非常类似,我使用了替换而不是匹配:p@JaromandaX,也许替换更好,因为如果没有,它也能工作。我从未见过。。。在对象之前,这是关于什么的?在这个地方,一个iterable作为函数的参数展开。工作很好,但是日期的顺序是相反的。可以反转吗?非常类似,我使用替换而不是匹配:p@JaromandaX,也许替换更好,因为如果没有,它也能工作。我从未见过。。。在对象之前,这是关于什么的?在这个地方,一个iterable作为函数的参数展开。工作很好,但是日期的顺序是相反的。有可能逆转吗?