HTTP Request Node blocking send of valid null?

Hi N8N’ers,

I think that I have hit a bug in the HTTP Request Node but am not sure.

I am doing an HTTP POST request to the Bubble data API endpoint and it breaks every time that there is a null value in a number field.


The weird thing is that when I copy and paste a single record of what N8N says is in generated output ( i.e. the JSON that appears in the right hand panel of the HTTP Node when you expand it, it works like a charm when I cut and paste that into Postman and execute it the HTTP POST.

So I tried sending the HTTP Request to Webhook.site (which is like Pipedreams RequestBin but free). Webhook should accept anything thing coming from that request regardless of any JSON Syntax errors. Funny thing…it works when the numeric field has a number but not when the numeric field has a null value. So my conclusion is that it is N8N that is rejecting the send even before it gets a response. Is that even possible?

Another bit of evidence to support the idea that N8N is actually rejecting the POST before sending it is that I can change the credentials on the send and N8N’s error comes back the same, so everything seems to indicate that there was never a response from the endpoint

I have read that N8N has had difficulties with nulls in the past and that there are still cases where they cause issues. Is that correct? If yes, are there efficient work arounds?

Thanks in advance for the help.

Information on your n8n setup

instance information

Debug info

core

  • n8nVersion: 1.74.3
  • platform: npm
  • nodeJsVersion: 20.18.1
  • database: sqlite
  • executionMode: regular
  • concurrency: 5
  • license: community
  • consumerId: 00000000-0000-0000-0000-000000000000

storage

  • success: all
  • error: all
  • progress: false
  • manual: true
  • binaryMode: filesystem

pruning

  • enabled: true
  • maxAge: 168 hours
  • maxCount: 2500 executions

client

  • userAgent: mozilla/5.0 (windows nt 10.0; win64; x64; rv:134.0) gecko/20100101 firefox/134.0
  • isTouchDevice: false

Generated at: 2025-01-21T15:20:11.500Z

  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Hi, I think all of that info is there. I may have pasted it in a weird way so you have to expand it, but it is all there, no?

Hey @datajunky , to fix it, make the whole JSON an expression. Withoiut it, null and arrays will break the JSON. That is your JSON should look like this

{{
  {
    "prop1": $json...,
    "prop2": $json....
  }
}}

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.