Javascript 访问JSON的特定部分
我试图访问数据的t部分:下面的对象。我是通过console.logmessage.data.f来实现的,但是它返回未定义的。我不明白为什么我不能以这种方式访问它。见下文:Javascript 访问JSON的特定部分,javascript,node.js,object,Javascript,Node.js,Object,我试图访问数据的t部分:下面的对象。我是通过console.logmessage.data.f来实现的,但是它返回未定义的。我不明白为什么我不能以这种方式访问它。见下文: "data":"{\"e\":\"53845\",\"f\":\"SCORE\",\"pf\":[{\"p\":\"HOME\",\"v\":\"0\"},{\"p\":\"AWAY\",\"v\":\"0\"}],\"^t\":\"f\",\"i\":\"357575\",\"z\":1492771602631}",
"data":"{\"e\":\"53845\",\"f\":\"SCORE\",\"pf\":[{\"p\":\"HOME\",\"v\":\"0\"},{\"p\":\"AWAY\",\"v\":\"0\"}],\"^t\":\"f\",\"i\":\"357575\",\"z\":1492771602631}",
注意:我已经用^标记了我希望访问的对象部分。您的消息只不过是字符串。首先将其解析为相应的对象以访问其变量
var parsed = JSON.parse(message);
console.log(message.data.t);
您的数据属性是一个JSON字符串,可能所有对象都是一个JSON字符串。 您需要将字符串解析为JSON var obj=JSON.parsemyObj.data 然后您可以访问:
console.log(obj.f);
如果您的第一个对象(包含数据的对象)也不是JSON,并且其名称是例如myFirstObject,则您需要执行以下操作:
var jsonObj = JSON.parse(myFirstObject);
console.log(jsonObj.f);
这甚至不是一开始就有效的JSON。我知道不是。我故意忽略了其他部分,以减少我需要发布的无用JSON的数量。你可以删除不相关的部分,仍然保留一些实际有效的JSON,最好是格式化的,并且不需要大量转义。帮助别人帮助你。