我意识到已经涵盖了将 Javascript 转换为 JSON 并正确转义的主题(例如,此处 Convert JS object to JSON string 和此处 How can I accommodate a string with both single and double quotes inside of it in Javascript )。不过,我并没有取得多大成功——
我正在尝试将一个大型 Javascript 对象传递给 POST 调用(使用 Postman),该调用要求我按以下方式传递它:
{
“键”:“/url/url/es”,“值”:“{myData}”
}
我的对象需要填充{myData}
部分。我的数据结构太大,无法完全传递到这里,但它包含这样的部分
name: 'Something',
reactComponentName: 'EntradaTwoPack',
numberOfCards: 2,
variant: '0',
mainTitle: 'Something',
cards: [
{
name: 'card1',
elements: {
showImage1: false,
_comment: 'These fields are required, the component can expect them to know what to paint',
},
values: {
cardTitle: '1 DÍA 1 PARQUE',
cardLinkText: 'Condiciones',
cardLinkURL: '/condiciones',
images: ['https://s3-eu-west-1.amazonaws.com/anImage.png'],
section0Title: 'Adulto',
section0SubTitle: '11 - 59 años',
section1Title: 'Júnior / Sénior',
section1SubTitle: '4 - 10 años/+60 años',
},
]
也就是说,它包含单引号、URL、数组内的对象、对象中的对象等。我尝试转义 URL 中的单引号和正斜杠、删除换行符等,但似乎没有任何效果工作。 (我最终得到类似于这样的输出:
mainTitle: \'TOP HOTELES\', mainDescription: \'Lorem ipsum dolor sit amet, consectetur adipiscing elit. \', mainLinkURL: \'http:\/\/www.startpage.com\', showBreadCrumb: false, cards: [ { name: \'card1\',
我已将其粘贴到 Chrome 的控制台中,然后我 JSON.stringify()
它,但这也不起作用。我还从 Chrome 中获取了输出并对其进行了转义,如上所述,但没有骰子。也许我在概念上遗漏了一些东西——欢迎任何建议!
最佳答案
该值必须是字符串吗?
因为您可以将您拥有的洞对象作为对象传递,并将您的 Content-Type 用作 application/json
{
"key":"/url/url/es", "value":YOU_OBJECT
}
关于javascript - 将 JSON 中包含引号、URL 等的大型 Javascript 对象传递给 POST 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54812210/