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

如何用JavaScript拼接带双引号的字符串生成目标JSON格式?

正确拼接带双引号的JSON格式字符串

需求目标

需要生成如下格式的字符串:

"refURL":"/unifiedconfig/config/agent/5113","agentId":"1312","firstName":"John","lastName":"Elway","userName":"jelway"

原代码问题

你尝试的代码把所有内容都塞到了refURL这一个键的值里,且未给其他键值对添加双引号,导致结果不符合预期:

原代码:

var skillTargetID = "1234";
var agentId = "2345";
var firstName = "Ganesh";
var lastName = "Putta";
var userName = "ganesh@gmail.com"

agentjson = {
  "refURL": "/unifiedconfig/config/agent/" + skillTargetID + "," + "agentId" + ":" + agentId + "," + "firstName" + ":" + firstName + "," + "lastName" + ":" + lastName + "," + "userName" + ":" + userName
};

console.log(agentjson);

得到的错误结果:

{"refURL": "/unifiedconfig/config/agent/1234,agentId:2345,firstName:Ganesh,lastName:Putta,userName:ganesh@gmail.com"}

解决方法

方法一:构建对象后转JSON(推荐)

先创建完整的JavaScript对象,再用JSON.stringify()转换为JSON字符串,最后去掉首尾大括号即可。这种方式会自动处理双引号和特殊字符,避免手动拼接的失误:

var skillTargetID = "1234";
var agentId = "2345";
var firstName = "Ganesh";
var lastName = "Putta";
var userName = "ganesh@gmail.com"

// 构建完整对象
const agentObj = {
  refURL: `/unifiedconfig/config/agent/${skillTargetID}`,
  agentId: agentId,
  firstName: firstName,
  lastName: lastName,
  userName: userName
};

// 转成JSON字符串并移除外层大括号
const targetStr = JSON.stringify(agentObj).slice(1, -1);
console.log(targetStr);

输出结果:

"refURL":"/unifiedconfig/config/agent/1234","agentId":"2345","firstName":"Ganesh","lastName":"Putta","userName":"ganesh@gmail.com"

方法二:手动拼接字符串(不推荐)

如果一定要手动拼接,需要给每个键和值都添加双引号,可用模板字符串简化拼接逻辑:

var skillTargetID = "1234";
var agentId = "2345";
var firstName = "Ganesh";
var lastName = "Putta";
var userName = "ganesh@gmail.com"

const targetStr = `"refURL":"/unifiedconfig/config/agent/${skillTargetID}","agentId":"${agentId}","firstName":"${firstName}","lastName":"${lastName}","userName":"${userName}"`;
console.log(targetStr);

⚠️ 注意:这种方法如果值中包含双引号、反斜杠等特殊字符,会直接破坏格式,因此优先使用方法一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:50:41