{
"UpdateRequest": {
"SAASAS": {
"SPO2": "99.00000",
"VitalGroupID": "1219",
"Temperature": "36.6666666666667",
},
"Modified": 1,
"ID": 25465
}
}
如何将VitalGroupID和Temperature作为Integer而不是String发送....这是我点击提交按钮后形成的请求。
答案 0 :(得分:10)
单击按钮时,您需要显示创建请求的代码。基本上,如果您要序列化的对象包含数字而不是字符串,则生成的JSON将包含数字而不是字符串。所以问题是你要序列化的对象有字符串。
但是,例如,如果您从HTML输入字段或类似字体中获取这些值,例如:
UpdateRequest.SAASAS.VitalGroupID = someInputElement.value;
... value
总是一个字符串。你需要解析它:
UpdateRequest.SAASAS.VitalGroupID = parseInt(someInputElement.value, 10);
请注意,最好使用parseInt
并给它基数(数字基数,通常为10),否则会遇到写为“08”和类似数字的问题。
答案 1 :(得分:2)
严格来说,json是无类型的,因此你不能将它作为整数发送,它必须是一个字符串。 javascript对象有点不那么严格,所以你有他们的意志评估javascript对象,但没有严格的json解析器将能够理解它。
您可以做的最好的事情是使用parseInt转换您知道的客户端数字字段。
e.g。 sonObj["UpdateRequest"]["SAASAS"]["VitalGroupID"] = parseInt(jsonObj["UpdateRequest"]["SAASAS"]["VitalGroupID"], 10);
答案 2 :(得分:1)
JSON支持数字作为值。所以:
var r = {
"UpdateRequest": {
"SAASAS": {
"SPO2": "99.00000",
"VitalGroupID": "1219",
"Temperature": "36.6666666666667",
},
"Modified": 1,
"ID": 25465
}
}
r.UpdateRequest.SAASAS.VitalGroupID = +r.UpdateRequest.SAASAS.VitalGroupID
答案 3 :(得分:0)
new Number(jsonObject.UpdateRequest.SAASAS.VitalGroupID);
答案 4 :(得分:0)
如果你想在客户端处理它(如你所提到的JSON,JAvascript)。解析JSON对象后,可以执行以下操作。 parseInt(UpdateRequest.SAASAS.VitalGroupID,10)
或UpdateRequest.SAASAS.VitalGroupID*1
对“temparature”变量也采用相同的方法。