Javascript 如何从节点红色的json中获取特定值?
这是我的程序,我试图找出如何从这个json中提取年龄值。我正在使用ibm bluemix iot watson, 我得到的错误是: 语法错误:未定义:1[对象]^意外标记oJavascript 如何从节点红色的json中获取特定值?,javascript,json,node.js,parsing,node-red,Javascript,Json,Node.js,Parsing,Node Red,这是我的程序,我试图找出如何从这个json中提取年龄值。我正在使用ibm bluemix iot watson, 我得到的错误是: 语法错误:未定义:1[对象]^意外标记o 必须从功能节点返回消息对象。代码只返回age值,该值只是一个int 您描述的错误是因为Node RED正在尝试向输出中添加一些内部状态(\u msgid),但无法添加,因为它不是对象。正确的方法是返回整个数据对象,例如 var data = {};
必须从功能节点返回消息对象。代码只返回
age
值,该值只是一个int
您描述的错误是因为Node RED正在尝试向输出中添加一些内部状态(\u msgid
),但无法添加,因为它不是对象。正确的方法是返回整个数据对象,例如
var data = {};
var data_tester;
data.payload ={
"age" : "24",
"hometown" : "Missoula, MT",
"gender" : "male"
},
data_tester = JSON.parse(data.payload);
return data_tester.age;
或者,如果您确实只想返回一个整数值:
var data = {};
data.payload ={
"age" : "24",
"hometown" : "Missoula, MT",
"gender" : "male"
};
return data;
在
data.payload
之后有一个逗号(,
)。它应该是分号(;
)。此外,您不需要执行JSON.parse(data.payload)
。这不是JSON,而是一个对象。它已经被“解析”。msg.payload={“年龄”:“24”,“家乡”:“米苏拉,MT”,“性别”:“男性”};返回msg.payload.age;更改程序后,我得到TypeError:无法分配到24的只读属性“\u msgid”。这是一个完全不同的问题,可能与此代码没有直接关系。试着自己调试它,如果你被卡住了,在这里问另一个问题,详细说明如何重新创建它,以及你做了什么来尝试解决它。
var data = {};
data.payload = 24;
return data;