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

为何访问JSON属性返回undefined?字符串类型JSON变量问题

问题分析与解决方案

嘿,这问题我太熟了!核心原因一目了然:你手里的json变量根本不是JavaScript对象,而是一个JSON格式的字符串——你自己用typeof json输出'string'已经实锤了这点。

为啥console.log(json)看起来像个对象?因为当你打印字符串的时候,它会直接显示内容,刚好内容是JSON格式的结构,但本质上它还是一串文本,不是可直接访问属性的对象。这就像你把一篇写着菜谱的纸当成了能直接吃的菜,肯定没法直接拿里面的食材嘛😅。

解决步骤

你需要把这个JSON字符串解析成真正的JavaScript对象,用JSON.parse()方法就能搞定:

// 你的原始字符串变量
const json = '{"buildingName":"", "addressLine1":"", "postcode":""}';

// 解析成对象
const parsedObj = JSON.parse(json);

// 现在就能正常访问属性了
console.log(parsedObj.postcode); // 输出空字符串 ""

额外提醒

如果你的JSON字符串格式有语法错误(比如引号不匹配、逗号多余),JSON.parse()会抛出错误。为了避免程序崩溃,可以用try-catch包裹处理:

let parsedObj;
try {
  parsedObj = JSON.parse(json);
  console.log(parsedObj.postcode);
} catch (err) {
  console.error('JSON格式不正确,解析失败:', err);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:34:59