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

如何在Google NLP Cloud API的JSON请求中直接引用文件内容作为content字段值?

能否在JSON请求中直接用文件引用作为Google NLP API的content值?

很遗憾,JSON本身并不支持直接引用外部文件作为字段值——你设想的@my_input_file_of_text.txt这种写法并不是标准JSON的语法,Google NLP API也不会识别这种格式。不过不用慌,我们有几个无需编写完整程序就能实现类似需求的实用办法:

方案1:用Shell命令直接拼接JSON与文件内容

如果你用的是Bash这类Shell,可以直接通过cat读取文本文件,再把内容插入到JSON结构中发送请求,不需要生成临时的request.json文件:

curl -k "https://language.googleapis.com/v1/documents:analyzeSentiment?key=MY-SECRET-KEY" -s -X POST -H "Content-Type: application/json" --data-binary "$(printf '{"encodingType": "UTF8", "document": {"type": "PLAIN_TEXT", "content": "%s"}}' "$(cat my_input_file_of_text.txt | sed 's/"/\\"/g')")"

这里的sed 's/"/\\"/g'是为了转义文本中的双引号,避免破坏JSON结构。如果你的文本里还有换行、制表符等特殊字符,这个方法可能不够稳妥,推荐试试下面的方案。

方案2:用jq构建JSON(更可靠的方式)

jq是专门处理JSON的轻量工具,它能自动处理所有JSON需要的转义操作,完美解决特殊字符的问题。先安装jq(多数Linux发行版和macOS都能通过包管理器安装),然后执行以下命令:

curl -k "https://language.googleapis.com/v1/documents:analyzeSentiment?key=MY-SECRET-KEY" -s -X POST -H "Content-Type: application/json" --data-binary "$(jq -n --arg content "$(cat my_input_file_of_text.txt)" '{encodingType: "UTF8", document: {type: "PLAIN_TEXT", content: $content}}')"

这个方法会把文本文件的内容安全地注入到JSON的content字段中,不用担心格式错误。

方案3:动态生成包含文本的临时JSON文件

如果你还是习惯用request.json的方式,可以先把模板和文件内容合并成完整的JSON文件,再发送请求:

# 生成包含文本内容的JSON文件
printf '{"encodingType": "UTF8", "document": {"type": "PLAIN_TEXT", "content": "%s"}}' "$(cat my_input_file_of_text.txt | sed 's/"/\\"/g')" > request.json
# 发送API请求
curl -k "https://language.googleapis.com/v1/documents:analyzeSentiment?key=MY-SECRET-KEY" -s -X POST -H "Content-Type: application/json" --data-binary @request.json
# 可选:请求完成后删除临时文件
rm request.json

这些方法都不需要编写复杂的程序,只用Shell命令就能实现把大段文本直接传入Google NLP API的需求,省去了手动复制粘贴文本到JSON的麻烦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 14:57:51