如何使用Node-Red将JSON数据发送到Flask后端

时间:2019-04-15 05:15:38

标签: python flask node-red

我正在尝试将node-red的一些输出作为JSON对象发送到使用Flask的后端。在后端,我的目标是将JSON数据转换为 const DrawerNavigator = createDrawerNavigator({ Example: ScreenExample }, { contentComponent: CustomDrawerContentComponent, drawerWidth: width * 0.63, contentOptions: { activeTintColor: blue, inactiveTintColor: "rgb(105,105,104)", itemsContainerStyle: { textAlign: "center" }, labelStyle: { fontFamily: "RobotoCondensed-Regular", fontWeight: "400", fontSize: 17, marginLeft: -5 } }, iconContainerStyle: { opacity: 1 } } const CustomDrawerContentComponent = props => ( <SafeAreaView style={{ flex: 1, backgroundColor: white }} forceInset={{ top: "never" }} > <SafeAreaView style={{ flex: 0, backgroundColor: "rgb(63,103,149)" }} /> <View style={{ alignItems: "center", backgroundColor: "rgb(63,103,149)", shadowOpacity: 0.3, shadowOffset: { height: 5 } }} > <Image source={require("./src/assets/Icon-Transparente.png")} style={{ height: 150, width: 150 }} resizeMode="contain" /> </View> <ScrollView> <DrawerItems {...props} /> </ScrollView> </View> </SafeAreaView> 格式并将文件保存在本地。我刚刚开始使用node-red,但不确定如何实现?后端必须在python中。

enter image description here

使用Flask的python代码:

.dot

我收到的红色节点控制台错误是

from flask import Flask,request
app = Flask(__name__)

@app.route('/',methods=['POST','GET'])
def hello_world():
    print (request.is_json)
    content = request.get_json()
    print (content)
    return 'JSON posted'

python终端上的错误:

  

127.0.0.1--[15 / Apr / 2019 15:57:42]“ GET / HTTP / 1.1” 500-

     

没有错

1 个答案:

答案 0 :(得分:0)

让我们分解问题。

获取流中的前2个节点。

Inject节点已设置为时间戳模式,进入JSON节点。

enter image description here

这将输出一个字符串:

15/04/2019, 08:46:01  node: e5ffc8f6.f177a8
msg.payload : string[13]
"1555314361418"

这不是JSON对象(如果尝试这样做,而不是仅将输入数字转换为字符串,那么以前版本的Node-RED实际上会引发错误)。如果输入中没有字符串表示形式,则JSON节点将不会创建JSON结构。

如果要将JSON对象注入到HTTP-Request节点中,则应更改注入节点以实际注入JSON对象并删除JSON节点。

enter image description here