diff --git a/man/udevadm.xml b/man/udevadm.xml
index 556f845dcee..eb77356d869 100644
--- a/man/udevadm.xml
+++ b/man/udevadm.xml
@@ -167,6 +167,11 @@
Print all sysfs properties of the specified device that can be used
in udev rules to match the specified device. It prints all devices
along the chain, up to the root of sysfs that can be used in udev rules.
+
+ This switch supports JSON output mode (see below). Note that
+ because this switch generates multiple JSON objects, JSON-SEQ mode is automatically enabled
+ (RFC7464). (Note: tools such as jq
+ natively support JSON-SEQ via the switch.)
diff --git a/src/udev/udevadm-info.c b/src/udev/udevadm-info.c
index 30f34b49585..57f063b0108 100644
--- a/src/udev/udevadm-info.c
+++ b/src/udev/udevadm-info.c
@@ -274,6 +274,8 @@ static int print_device_chain_in_json(sd_device *device) {
assert(device);
+ arg_json_format_flags |=SD_JSON_FORMAT_SEQ;
+
r = print_all_attributes_in_json(device, /* is_parent = */ false);
if (r < 0)
return r;
diff --git a/test/units/TEST-17-UDEV.10.sh b/test/units/TEST-17-UDEV.10.sh
index 1808e1975b6..7ca05f5287f 100755
--- a/test/units/TEST-17-UDEV.10.sh
+++ b/test/units/TEST-17-UDEV.10.sh
@@ -71,8 +71,8 @@ udevadm info --query symlink --root /sys/class/net/$netdev
(! udevadm info -q hello -r /sys/class/net/$netdev)
udevadm info -a /sys/class/net/$netdev
udevadm info -a --json=off /sys/class/net/$netdev
-udevadm info -a --json=pretty /sys/class/net/$netdev | jq . >/dev/null
-udevadm info -a --json=short /sys/class/net/$netdev | jq . >/dev/null
+udevadm info -a --json=pretty /sys/class/net/$netdev | jq --seq . >/dev/null
+udevadm info -a --json=short /sys/class/net/$netdev | jq --seq . >/dev/null
udevadm info -t >/dev/null
udevadm info --tree /sys/class/net/$netdev
udevadm info -x /sys/class/net/$netdev