Javascript 无法正确解析通过网络发送的字符串化Json
我尝试使用typescript(在nodejs中运行)实现websocket服务器 另一方面,我使用angular的webSocket客户端发送数据(使用web浏览器) 打印出来的是Javascript 无法正确解析通过网络发送的字符串化Json,javascript,json,typescript,websocket,Javascript,Json,Typescript,Websocket,我尝试使用typescript(在nodejs中运行)实现websocket服务器 另一方面,我使用angular的webSocket客户端发送数据(使用web浏览器) 打印出来的是 got message:"{\"a\":\"123\",\"b\":\"456\"}" {"a":"123","b":"456"} undefined 解析的对象不包含成员a(使用m[“a”]也未定义) 但是,如果我只编写一个简单的javascript const msg = "{\"a\":\"123\
got message:"{\"a\":\"123\",\"b\":\"456\"}"
{"a":"123","b":"456"}
undefined
解析的对象不包含成员a(使用m[“a”]也未定义)
但是,如果我只编写一个简单的javascript
const msg = "{\"a\":\"123\",\"b\":\"456\"}"
const m = JSON.parse(msg);
console.log(m);
console.log(m.a);
我将得到以下结果:
{ a: '123', b: '456' }
123
json解析有什么问题吗?谢谢。因为在某个地方你又把它串起来了 如果您将
console.log(typeof m)
您将获得'string'
let x=JSON.stringify({a:123,b:456})
log(JSON.parse(x.a)
设y=JSON.stringify(x)
console.log(JSON.parse(y.a)
,因为在某个地方您再次字符串化了它
如果您将console.log(typeof m)
您将获得'string'
let x=JSON.stringify({a:123,b:456})
log(JSON.parse(x.a)
设y=JSON.stringify(x)
console.log(JSON.parse(y.a)
是的,您基本上是在生成一个双字符串。
您实际上不需要将有角度的WebSocket字符串化
const msg=JSON.stringify('{“a”:“123”,“b”:“456}');
设m=JSON.parse(msg);
控制台日志(msg);
控制台日志(m);
控制台日志(m.a);
m=JSON.parse(JSON.parse(msg));
控制台日志(m);
控制台日志(m.a)代码>是的,你基本上是在做一个双字符串。
您实际上不需要将有角度的WebSocket字符串化
const msg=JSON.stringify('{“a”:“123”,“b”:“456}');
设m=JSON.parse(msg);
控制台日志(msg);
控制台日志(m);
控制台日志(m.a);
m=JSON.parse(JSON.parse(msg));
控制台日志(m);
控制台日志(m.a)代码>
const msg = "{\"a\":\"123\",\"b\":\"456\"}"
const m = JSON.parse(msg);
console.log(m);
console.log(m.a);
{ a: '123', b: '456' }
123