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

如何访问Jsonnet中名为“self”的响应值?

解决Jsonnet访问self字段的报错问题

问题原因

self是Jsonnet的保留关键字,直接用.运算符访问这个字段会触发语法错误——Jsonnet会把它当作关键字而非普通字段名解析,所以才会报JsonnetTokenType.IDENTIFIER expected, got 'self'的错误。

修正后的代码

把点访问方式改成方括号+字符串键的形式,就能避开关键字冲突:

local result = std.parseJson(std.extVar('result'));
local resource = result.resources[0];
{
  result_fields: {
    issue_url: resource.response_body["self"],  // 用方括号包裹字段名访问
    issue: resource.response_body.id
  }
}

补充说明

Jsonnet里如果字段名和保留关键字(比如self、function、local等)重名,必须使用方括号+引号包裹字段名的方式访问,这种写法会强制Jsonnet把它当作普通字符串键处理,而非关键字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 11:18:19