![](/img/trans.png)
[英]How to get values from string and represent it as json object in javascript
[英]In Javascript ,how to represent 1.00 as a number in a JSON object?
我想要做的就是创建一个像这样的JSON字符串:
'{ "a" : 1.00 }'
我努力了
var n = 1.00;
var x = { a : n };
console.log(JSON.stringify(x)); // Gives {"a":1}
var n = 1.00;
var x = { a : n.toFixed(2) };
console.log(JSON.stringify(x)); // Gives {"a":"1.00"}
var x = { x : 1.00 };
x = JSON.stringify(x , function(key,val ){
if( typeof val === "number")
return val.toFixed(2);
return val;
});
console.log(x); // Gives {"x":"1.00"}
甚至可以在javascript中将'{“a”:1.00}'表示为JSON字符串? 如果是,我该怎么办?
JSON中的数字没有任何特定的精度。 数字表示为重现它所需的最短符号。
值1.00
与值1
相同,因此它是以JSON表示的方式。
如果您特别想要以1.00
格式表示数字,那么您不能将其存储为数字,则需要使用字符串。
字符串'{"x":1.00}'
是有效的JSON,但它与'{"x":1}'
具有相同的含义。
toFixed()返回一个字符串,因此总是会产生“1.00”而不是1.00。
我可以想到获得一个带有1.00作为值的JSON字符串的唯一方法就是像上面的toFixed()一样创建它,然后通过从“1.00”中删除引号字符来修改字符串。
您也可以在没有toFixed()的情况下创建它,然后进入并添加.00个字符。
无论哪种方式,它都让我感到更省力,但它应该是可能的。 我想不出直接做到这一点的方法。
您要实现的目标超出了序列化对象概念的范围。 序列化是以最一般的方式呈现数据,因此该序列化对象的发送者和接收者都能够以任何编程语言理解。 您尝试表示的此数据类型的定义在JSON中称为“数字”。 您应该将其解析或转换为您需要的类型(这是反序列化概念的一部分,通常由JSON解析方法完成)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.