You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express服务器无法正确读取Java发送的JSON请求体

问题分析与解决

问题现象

Java程序向Express服务器发送JSON数据,返回200响应,但Node.js端打印req.body时,name字段正常显示,blocks数组却只显示多个[Object],无法查看数组内的具体对象内容。

原因排查

  1. Java发送端:
    • 生成的JSON经验证格式正确,Jackson库的序列化逻辑无问题。
    • Java代码已正确设置Content-Type: application/json请求头,且以UTF-8编码写入请求体,数据传输环节无异常。
  2. Express接收端:
    • 已启用express.json()中间件,name字段能正常读取说明JSON解析逻辑有效。
    • 问题本质是Node.js的console.log默认行为:打印嵌套对象时,会将内层对象简化显示为[Object],并非数据未被正确解析。

解决方案

在Express的POST路由处理函数中,改用JSON.stringify打印完整的请求体结构,指定缩进参数可让输出更易读:

const express = require('express')
const app = express()
app.use(express.json());
const port = 80

app.post('/', (req, res) => {
  // 展开所有嵌套对象,格式化输出
  console.log(JSON.stringify(req.body, null, 2));
  res.send('Data received');
});

可选验证

若需快速确认blocks数组的元素数量,可单独打印数组长度:

console.log('blocks数组长度:', req.body[0].blocks.length); // 预期输出10

内容的提问来源于stack exchange,提问作者grizzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 03:10:02