JSON on post 数据附上字符串就可以了

JSON on post data attach the string on it

嘿,我是 JSON 的新手,对于这个项目,我使用 POST 使用 customer_porperties 中的变量 fetch_email。目前,如果我将值发送为 {"$email": "sunny@gmail.com"} ,它就会被提交。但是,如果我使用 var fetch_email = "sunny@gmail.com" 并在 {"$email": fetch_email} 上调用它,它不会提交并引发错误。在 const body data 中为 JSON 调用变量的更好方法是什么?有人可以帮忙吗?

const options = {
        method: 'POST',
        headers: {Accept: 'text/html', 'Content-Type': 'application/x-www-form-urlencoded'},
        body: new searchParams({
          data: '{"event": "game mode", "customer_properties": {"$email": fetch_email}}'
        })
      };

      fetch('https://thrid_party/api', options)
        .then(response => response.json())
        .then(response => console.log(response))
        .catch(err => console.error(err));
      

试试这个:

data: `{"event": "game mode", "customer_properties": {"$email": ${fetch_email}}}`

不要手动构建 JSON 字符串,使用 built-in JSON.stringify().

body: new searchParams({
    data: JSON.stringify({"event": "game mode", "customer_properties": {"$email": fetch_email}})
})