Javascript 正在以字符串和整数形式发送Json响应。。。
如何将VitalGroupID和Temperature作为整数而不是字符串发送。。。。这是我点击提交按钮后生成的请求。单击按钮时,需要显示创建请求的代码。基本上,如果要序列化的对象包含数字而不是字符串,则生成的JSON将使用数字而不是字符串。所以问题是你序列化的对象有字符串Javascript 正在以字符串和整数形式发送Json响应。。。,javascript,json,Javascript,Json,如何将VitalGroupID和Temperature作为整数而不是字符串发送。。。。这是我点击提交按钮后生成的请求。单击按钮时,需要显示创建请求的代码。基本上,如果要序列化的对象包含数字而不是字符串,则生成的JSON将使用数字而不是字符串。所以问题是你序列化的对象有字符串 { "UpdateRequest": { "SAASAS": { "SPO2": "99.00000", "VitalGroupID": "1219",
{
"UpdateRequest": {
"SAASAS": {
"SPO2": "99.00000",
"VitalGroupID": "1219",
"Temperature": "36.6666666666667",
},
"Modified": 1,
"ID": 25465
}
}
但例如,如果您从HTML输入字段或类似字段获取这些值,例如:
new Number(jsonObject.UpdateRequest.SAASAS.VitalGroupID);
…value
始终是一个字符串。您需要对其进行解析:
UpdateRequest.SAASAS.VitalGroupID = someInputElement.value;
请注意,最好使用
parseInt
并给它以基数(以数字为基数,通常为10),否则您会遇到写为“08”或类似数字的问题。如果您想在客户端处理它(正如您提到的JSON、JAvascript)。解析JSON对象后,可以执行以下操作parseInt(UpdateRequest.SAASAS.VitalGroupID,10)
或UpdateRequest.SAASAS.VitalGroupID*1
对“temparature”变量也采用相同的方法。严格来说,json是非类型化的,因此不能将其作为整数发送,它必须是字符串。javascript对象的严格程度稍低一些,因此您所拥有的将计算为javascript对象,但没有严格的json解析器能够理解它
您所能做的最好的事情就是使用parseInt在客户端转换已知为数字的字段
e、 g.
sonObj[“更新请求”][“SAASAS”][“VitalGroupID”]=parseInt(jsonObj[“更新请求”][“SAASAS”][“VitalGroupID”]”,10)代码>JSON支持数字作为值。因此:
UpdateRequest.SAASAS.VitalGroupID = parseInt(someInputElement.value, 10);
JSON不总是作为字符串发送吗?我想你一定要选那种类型manually@das:JSON是一种文本表示法,就像JavaScript源代码是一种文本表示法一样。他说的是“VitalGroupID”:“1219”
(用字符串值定义属性“1219”
)而不是“VitalGroupID”:1219
(用数字值定义属性1219
)。看起来ECMA-404标准确实在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