CSV
ファイルをロードして、JSON
オブジェクトに解析してから、これらの文字列を数値に変換しています。それらはブラウザコンソールに数値として表示され、AJAXを使用してデータをサーバーに送信しています。私はconsole.logのデータはすべて文字列ですか?私はJSON
は、さまざまなデータ型を受け入れることができますが、なぜそれが文字列として行を下っているのですか?JSONデータ型 - サーバに到達すると数値が文字列に変換されます
ここにコードがあります。
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です:
このデータはストレートノード内のデータと全く作業がないデータベースにインポートされます。私のデータベースでは、文字列としてもインポートされます。
思考?私は何が欠けていますか?
JSONは常に文字列表現です.JavaScript(または他の言語)で使用するオブジェクトを作成するために解析する必要があります。他の言語)は、結果のオブジェクトを他のオブジェクトと同じように扱います。 – Falk
JSONはStringとしてシリアル化されたオブジェクト表現です。受信側で 'JSON.parse'を呼び出すだけで、オブジェクトを逆シリアル化する必要があると思います。 –