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

如何从字符串形式的JSON对象中获取MovieTitle字段值?

解决字符串JSON转对象后获取属性的问题

嘿,我明白你遇到的问题了!你现在拿到的是字符串形式的JSON,不是真正的JavaScript对象,所以直接赋值给products后,用Object.values()才会得到单个字符组成的数组——因为此时products本质是一串文本,不是可直接访问属性的对象。

问题根源

当你直接把input标签的value赋值给products时,它的类型是字符串(比如"{\"OrderId\":XXXXXX,\"IsPrebuy\":true,...}"),JavaScript会把它当作字符串处理。Object.values()对字符串执行时,会将字符串拆分为单个字符的数组,这显然不是你想要的结果。

解决方案:先解析JSON字符串为JS对象

你需要先用JSON.parse()方法把字符串格式的JSON转换成真正的JavaScript对象,之后就能正常访问对象的属性了。

完整代码示例

// 1. 获取input的value(字符串形式的JSON)
const inputJsonStr = document.querySelector('input').value;

// 2. 解析字符串为JavaScript对象
const products = JSON.parse(inputJsonStr);

// 3. 直接访问MovieTitle属性
const movieTitle = products.MovieTitle;
// 或者用方括号语法:products['MovieTitle']

console.log(movieTitle); // 输出:"Joker"

额外说明

当products是真正的对象后,再使用Object.values(products)就会得到对象所有值组成的数组:

console.log(Object.values(products)); 
// 输出:[XXXXXX, true, false, "2019-11-19", 0, "Joker"]

不过如果你只需要MovieTitle的取值,直接通过属性访问的方式会更高效直接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:41:27