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

如何在Node.js中读取WordPress API V2含冒号的JSON对象键

解决WordPress API含冒号键的提取问题

别担心,带冒号这类特殊字符的对象键确实没法用常规的点语法访问,不过换用方括号语法就能轻松搞定!结合你给出的JSON结构,我给你两种实用的提取方式:

方式一:直接通过方括号访问

假设你已经把API返回的JSON解析成了JavaScript对象(比如命名为posts),可以这样提取wp:featuredmedia的内容:

// 示例解析后的数组对象
const posts = [
  {
    "id": 2873,
    "title": { "rendered": "some title" },
    "_embedded": {
      "wp:featuredmedia": [
        {
          "id": 3091,
          "date": "2018-04-18T20:51:42",
          "slug": "dr",
          "source_url": "some image url"
        }
      ]
    }
  }
];

// 提取第一篇文章的特色媒体数组
const featuredMedia = posts[0]._embedded["wp:featuredmedia"];
console.log(featuredMedia); 
// 输出:[{ id: 3091, date: "2018-04-18T20:51:42", ... }]

// 进一步提取图片URL
const imageUrl = posts[0]._embedded["wp:featuredmedia"][0].source_url;
console.log(imageUrl); // 输出:"some image url"

方式二:ES6解构赋值(更优雅的写法)

如果你习惯用现代JavaScript语法,解构赋值能让代码更简洁:

// 从数组中取出第一篇文章
const [firstPost] = posts;
// 解构出_embedded里的wp:featuredmedia
const { _embedded: { "wp:featuredmedia": mediaArray } } = firstPost;

// 再从媒体数组中取出第一项的图片URL
const [firstMedia] = mediaArray;
const { source_url: imageUrl } = firstMedia;

console.log(imageUrl); // 输出:"some image url"

为啥点语法不行?

JavaScript的点语法要求键名是有效标识符——不能包含冒号、空格这类特殊字符,所以遇到这类特殊键,必须用["键名"]的方括号形式来访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:27:11