【发布时间】:2014-10-10 01:51:24
【问题描述】:
我有一个类似 JSON 的输入格式:
{
"a": 2,
"b": 0.0,
"c": "hi"
}
有浮点值(总是有小数点)和整数值(没有小数点)。我需要用 Javascript 解析它,使用它,然后将它写回文件(带小数点的浮点数)。
将其解析为经典对象很简单,但在编码时我需要区分浮点数和整数。我目前使用这种丑陋的 JS 结构:
{
type: "Object",
value: {
a: {type: "Integer", value: 2},
b: {type: "Float" , value: 0},
c: {type: "String" , value: "hi"}
}
}
我想简化我的结构。有什么方法可以区分 JS Numbers 中的 Floats 和 Integers 吗?像“免费位”之类的?或者也许是一些聪明的把戏?
例如如果我所有的输入数字总是正数,我可以将整数存储为正数,将浮点数存储为负数。但他们不是:(还有其他想法吗?
【问题讨论】:
-
我认为这是你能做的最好的,因为它是 JSON 规范的一部分 (en.wikipedia.org/wiki/JSON#Data_types.2C_syntax_and_example)
-
我不需要检查任何东西。我需要将一位信息(浮点数或整数)放入数字(解析时)并稍后读取(编码时)
-
我的输入格式看起来像 JSON,但它不是 JSON,我不使用任何 JSON。
-
像你已经在做的事情可能是最简单的方法。