我正在尝试将对象的JSON值从几秒更改为几小时。问题是,当我尝试将其与本地常量相乘以进行转换时,它将返回一个NaN值。
我已经尝试使用JSON.stringify(Json_value)了,但没有帮助
const secToHours = '0,000277778';
const hourTime = secToHours*JSON.stringify(jsonData.duration);
logs = []
logs.push({"id":jsonData.id,"key":jsonData.issueKey, "date": dateFormatted, "duration": hourTime})
var array = [{user:jsonData.userId, logs:logs}];
console.log(array[0]);
This is the console output:
{
user: 'XXXXX',
logs: [ { id: XXXXX, key: 'XX-X', date: '2019-7-3', duration: NaN } ]
}
我不知道为什么它会为乘法返回一个NaN值,如果我将这些值打印出来,它们会返回各自的const值和json数据。
答案 0 :(得分:3)
0,000277778
不是有效的JS数字-您的本地约定可能使用逗号作为小数点,但JS要求有一个点。
您不需要/不想在JSON.stringify
上使用jsonData.duration
,尽管我看不到是否需要以其他方式进行操作-声明在哪里/值在做什么它在第2行上吗?