Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript读取JSON以存储在不同的变量中_Javascript_Json - Fatal编程技术网

JavaScript读取JSON以存储在不同的变量中

JavaScript读取JSON以存储在不同的变量中,javascript,json,Javascript,Json,我确信这是一个简单的问题,但我有一个超级WebSocket服务器,它链接到HTML5客户端。我将许多不同结构的JSON消息推送到客户机,但每个JSON消息都有一个类型成员,JSON消息一次一个,不嵌套 因此,我不确定的是如何从JSON字符串中读取来确定类型成员,然后将其存储在特定变量中 这是伪代码,我对VB最为熟悉,我想知道是否有人能帮我将其转换为javascript等价物 var obj=JSON.parsev.data 如果对象类型=A,则 “做一项任务 elseif obj.Type=B然

我确信这是一个简单的问题,但我有一个超级WebSocket服务器,它链接到HTML5客户端。我将许多不同结构的JSON消息推送到客户机,但每个JSON消息都有一个类型成员,JSON消息一次一个,不嵌套

因此,我不确定的是如何从JSON字符串中读取来确定类型成员,然后将其存储在特定变量中

这是伪代码,我对VB最为熟悉,我想知道是否有人能帮我将其转换为javascript等价物

var obj=JSON.parsev.data

如果对象类型=A,则 “做一项任务 elseif obj.Type=B然后 “完成任务B elseif obj.Type=C然后 '执行任务C 如果结束

同样对于javascript,我应该在使用后销毁对象吗

非常感谢

if (obj.Type==='A') {
     // do task a
} else if (obj.Type==='B') {
     // do task b
} else {
     // do whatever
}
我相信,一旦对象超出范围,Javascript将收集并处理该对象


祝你好运。

JavaScript不是强类型语言,因此可以将任何项分配给对象。如果需要,可以使用关键字typeof来确定变量的类型

但是,请注意,检查JavaScript中的类型也很棘手。例如,null==undefined为false,但null==undefined为true


架构思想的食粮:您应该知道您期望从服务器返回的数据结构的类型,从而使检查的类型变得毫无意义。考虑在特定任务发生JSON对象成功返回时调用客户端来调用不同的函数。

@ AuraGraseHne,我相信Obj.Type是自定义属性名称。谢谢各位,诚然,我打破了使用类型而不是像MessageType这样更好的名称的惯例之一,但感谢您的帮助!如果Obj.Type不是自定义属性名,那么考虑使用Type Of运算符来测试本机数据类型。