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

React中JSON解析后无法获取对象category数组值的问题求助

问题根因

两个问题导致功能异常:

  1. category字段存的是对象数组,不是文本输入框支持的字符串、数字这类基础值类型,直接把数组传给TextField的value属性,组件无法正常解析,你截图里看到的[object Object]就是直接渲染对象/数组类型值的典型表现。
  2. 你的JSON解析兜底逻辑有bug:如果JSON.parse执行报错,你会把初始值null转成字符串"null"赋值给userContent,后续访问userContent.category会直接得到undefined,也会触发渲染异常。
修复方案
  1. 先修正JSON解析的兜底逻辑,解析失败时用空对象兜底,避免属性访问报错:
let userContent = {};
try {
  // 提前对contactform_content做空值兜底,避免传undefined/null给JSON.parse触发异常
  userContent = JSON.parse(entity.contactform_content || '{}');
} catch (e) {
  userContent = {};
}
  1. 对category数组做格式转换后再传给输入框:如果只是要展示选中的类目列表,把数组里的类目值提取出来拼接成字符串即可:
<TextField
  autoComplete="off"
  label="Category"
  // 用可选链避免category不存在时报错,无值时默认空字符串
  value={userContent.category?.map(item => item.value).join(', ') || ''}
/>

如果你用的是带选择功能的TextField(比如搭配组件库的选择器做多选类目),不要直接把数组绑定给value属性,需要按照组件要求单独传可选列表配置项,value只绑定当前选中的结果即可。

category值无法正常展示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:16:01