Lets say I write the following to a JSON file
假设我将以下内容写入JSON文件
data = {
number : 10,
string : "Hey *!"
}
After I JSON.stringify (data) it writes it to a file as
在我JSON.stringify(数据)之后,它将它写入文件
{
"number" : "10",
"string" : "Hey *!"
}
So when I read the file, number is now a string. Is there anywhere to preserve the type when reading/writing to JSON files?
所以当我读取文件时,数字现在是一个字符串。在读取/写入JSON文件时,有什么地方可以保留类型吗?
I am using node js to write to the file (fs.writeFile) and reading the JSON file using Javascript on the client side.
我正在使用节点js写入文件(fs.writeFile)并在客户端使用Javascript读取JSON文件。
1 个解决方案
#1
3
JSON.stringify( data )
won't convert numbers to strings. Double-check that the type of 10
is actually a number and not a string. JSON.parse( strData )
will then bring it back as a number correctly.
JSON.stringify(data)不会将数字转换为字符串。仔细检查10的类型实际上是数字而不是字符串。然后,JSON.parse(strData)将正确地将其作为数字返回。
Example
例
JSON.stringify({number: 10})
gives '{"number":10}'
. (Note, no double quotes around the 10 as in your example.
JSON.stringify({number:10})给出'{“number”:10}'。 (注意,在您的示例中,10周围没有双引号。
JSON.parse('{"number":10}')
brings the number back as expected.
JSON.parse('{“number”:10}')按预期返回数字。
#1
3
JSON.stringify( data )
won't convert numbers to strings. Double-check that the type of 10
is actually a number and not a string. JSON.parse( strData )
will then bring it back as a number correctly.
JSON.stringify(data)不会将数字转换为字符串。仔细检查10的类型实际上是数字而不是字符串。然后,JSON.parse(strData)将正确地将其作为数字返回。
Example
例
JSON.stringify({number: 10})
gives '{"number":10}'
. (Note, no double quotes around the 10 as in your example.
JSON.stringify({number:10})给出'{“number”:10}'。 (注意,在您的示例中,10周围没有双引号。
JSON.parse('{"number":10}')
brings the number back as expected.
JSON.parse('{“number”:10}')按预期返回数字。