Javascript 正在以字符串和整数形式发送Json响应。。。

Javascript 正在以字符串和整数形式发送Json响应。。。,javascript,json,Javascript,Json,如何将VitalGroupID和Temperature作为整数而不是字符串发送。。。。这是我点击提交按钮后生成的请求。单击按钮时,需要显示创建请求的代码。基本上,如果要序列化的对象包含数字而不是字符串,则生成的JSON将使用数字而不是字符串。所以问题是你序列化的对象有字符串 { "UpdateRequest": { "SAASAS": { "SPO2": "99.00000", "VitalGroupID": "1219",

如何将VitalGroupID和Temperature作为整数而不是字符串发送。。。。这是我点击提交按钮后生成的请求。

单击按钮时,需要显示创建请求的代码。基本上,如果要序列化的对象包含数字而不是字符串,则生成的JSON将使用数字而不是字符串。所以问题是你序列化的对象有字符串

{
    "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