让我说我将以下内容写入JSON文件
data = {
number : 10,
string : "Hey stackoverflow!"
}
在JSON.stringify(数据)之后,它将其作为
写入文件 {
"number" : "10",
"string" : "Hey stackoverflow!"
}
所以当我读取文件时,数字现在是一个字符串。在读取/写入JSON文件时是否有保留类型的地方?
我正在使用节点js写入文件(fs.writeFile)并在客户端使用Javascript读取JSON文件。
答案 0 :(得分:3)
JSON.stringify( data )
不会将数字转换为字符串。仔细检查10
的类型实际上是数字而不是字符串。 JSON.parse( strData )
然后会正确地将其作为数字返回。
示例强>
JSON.stringify({number: 10})
给出'{"number":10}'
。 (注意,在你的例子中,10周围没有双引号。
JSON.parse('{"number":10}')
按预期收回数字。