JSON数据types – 数字转换为string,当它到达服务器

我正在加载一个CSV文件,parsing成一个JSON对象,然后我将这些string转换为数字。 它们在浏览器控制台中显示为数字,然后使用AJAX将数据发送到服务器。 当我console.log数据一切都是string? 我虽然JSON可以接受各种数据types,那么为什么它会作为string下线?

这是代码。

  for(var i = 0; i < input.files.length; i++){ var files = input.files[i]; Papa.parse(files, { header:false, dynamictyping:true, complete: function(results){ var input = results.data; if(input[0][0] === 'Symbol' || input[0][0] === 'symbol'){ input.shift(); } input.forEach(function(input){ jsonData.theData = theData; var singleEntry = { "symbol" : input[0], "date" : input[1], "open" : Number(input[2]), "high" : Number(input[3]), "low" : Number(input[4]), "close" : Number(input[5]), "volume" : Number(input[6]) }; // Here we will try to do the daily computations of what is needed for data // such as percentage closed in the day and what not. var open = singleEntry.open; var high = singleEntry.high; var low = singleEntry.low; var close = singleEntry.close; /* console.log(open); console.log(high); console.log(low); console.log(close); */ //Get the Math variables for close percentage var spread = high - low; var closeDiff = close - low; var answer = closeDiff / spread; console.log(answer); //Adding day closes to object if (singleEntry.volume === 0){ singleEntry["supportDay"] = false; } else { if(answer <= .3999){ singleEntry["percentClose"] = answer; singleEntry["supportDay"] = false; console.log("answer <= .39999"); } else if (answer > .95) { singleEntry["percentClose"] = answer; singleEntry["supportDay"] = true; singleEntry["peakClose"] = true; console.log("answer > .95"); } else { singleEntry["percentClose"] = answer; singleEntry["supportDay"] = true; } } jsonData.theData.push(singleEntry); console.log(singleEntry.supportDay); return jsonData; }); // End forEach loop document.getElementById("editor").innerHTML = JSON.stringify(jsonData.theData[0]); } // End Callback Complete }); // End PapaParse } // End for loop }); 

所以你可以看到我可以使用这些对象,这里是在浏览器上的console.log输出,所有代码都在浏览器中。

在这里输入图像说明

现在这里是到服务器的console.log:

在这里输入图像说明

这个数据被直接导入到数据库中,而Node中的数据没有处理。 在我的数据库中,它也以stringforms导入。

思考? 我错过了什么?

使用JSON,input可以是各种数据types。但是,它会被串行化为一个大string,然后将线路发送到您的服务器。 在服务器端,需要将string再次parsing为对象。 这一步将取决于您的服务器运行在哪种语言。