从json文件读取后检索类型

时间:2021-09-20 00:32:03

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}')按预期返回数字。