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

如何使用JavaScript读取JSON数据?解析无输出问题排查

问题描述

我从服务器获取到如下JSON数据:

{id: 1, no: "CP101", pack: "PH"}

尝试使用以下JavaScript代码读取:

var obj = JSON.parse('{id: 1, no: "CP101", pack: "PH"}');
document.getElementById("demo").innerHTML = obj.id + ", " + obj.no;

但未得到任何输出,请问该如何解决?

解决方案

嘿,这问题其实很常见——你传给JSON.parse()的字符串不符合标准JSON语法!JSON规范强制要求所有的键名必须用双引号包裹,而你代码里的id、no、pack这些键都没有引号,这会直接导致解析失败,代码执行到JSON.parse这一步就报错终止了,自然不会有后续的输出。

给你两种靠谱的修复方式:

1. 修正JSON字符串为标准格式

把所有键名加上双引号,改成符合规范的JSON字符串:

var obj = JSON.parse('{"id": 1, "no": "CP101", "pack": "PH"}');
document.getElementById("demo").innerHTML = obj.id + ", " + obj.no;

2. 直接使用对象字面量(如果不需要字符串解析)

如果这段数据不是从外部获取的字符串,而是你直接写在代码里的,完全没必要调用JSON.parse,直接用JavaScript对象字面量就行:

var obj = {id: 1, no: "CP101", pack: "PH"};
document.getElementById("demo").innerHTML = obj.id + ", " + obj.no;

另外,给你个小技巧:遇到这类前端代码没输出的情况,记得打开浏览器开发者工具(按F12),切换到Console标签页,就能看到JSON.parse抛出的语法错误提示,这对快速排查问题超有用!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:09:31