0

我正在使用 NodeRed 并使用 Twitter 节点。我试图弄清楚如果用户发推文“X”,如何回复他们。

输出包含大量以逗号分隔的信息,并且全部由“x”:“y”组成,

"User": "SanderSchaeffer", "Tweet": "This is my tweet", "date": "01-02-2015",等。

我将如何过滤,最好是使用 Javascript 或 JSON,只是“用户”包含的信息?所以输出将是“SanderSchaeffer”?

或底线:如何使用 NodeRed 回复用户?:)

标题不便见谅,但我不知道这种信息输出方式的名称

4

3 回答 3

1

您可以使用 Node-RED Switch 节点进行过滤。

您可以将其设置为作用于msg.payload值并使用包含选项,然后将要匹配的文本输入到框中。

这应该只允许匹配的推文。然后,您可能想要使用函数节点来制作合适的响应。

编辑:

要仅获取发送用户 ID,您可以从函数节点中访问它,如下所示:

msg.tweet.user.screen_name
于 2015-07-27T12:47:39.830 回答
0

试试这个

var myOutput = '"User": "SanderSchaeffer", "Tweet": "This is my tweet", "date": "01-02-2015"';
var parse = JSON.parse('{'+myOutput +'}');
var userName = parse.User;
于 2015-07-27T12:38:14.763 回答
0

Javascript 具有将 JSON 数据转换为 JavaScript 对象的内置函数。然后,您可以将 JSON 变量作为对象的属性进行访问。

只需使用以下代码将 JSON 解析为 javascript:

var text = JSON code you retrieved;
var obj = JSON.parse(text);

然后,您可以通过对象访问变量数据来使用它们:

document.write(obj.User);
document.write(obj.Tweet);
document.write(obj.date);
....

更多信息可以在http://www.w3schools.com/js/js_json.asp找到, 它还解释了如何访问 JSON 对象数组。

于 2015-07-27T12:41:11.470 回答