如何解决此 JSON 解析问题?

How do I fix this JSON parsing issue?

我在 HTML 中将带有 fetch() 的数据发送到快递 API,这就是它在 req.body 中的结果(我使用 body-parser)

{
  '{"address":"a","town":"NYC","details":"a","appr":': { '"Car1"': '' }
}

这都是“字符串”,因为我知道“解析”以发送它的唯一方法是用 JSON.stringify 发送它。但是,在获取信息后,它是“无法解析的”,JSON.parse 错误 "unexpected string in JSON at position 62"

我这样发送:

    body: JSON.stringify({
      address: address,
      town: town,
      details: details,
      appr: apr,
    }),

我已经尝试了所有我知道如何做的事情来尝试再次“使其成为 JSON”,但没有任何效果。

1 - 不要忘记将 header 添加到 fetch

 const response = await fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json' // => this is important
    },
    body: JSON.stringify(data)
  });

2 - 不要忘记在 express

上添加这个
app.use(bodyParser.json())

注意: 如果您使用的是 Express v4.16.0 或更新版本,则可以使用 built-in 中间件。感谢@Dov Rine

app.use(express.json());

3 - req.body 之后将作为 object 可用。你不应该使用 JSON.parse(req.body) 因为 body-parser 为你做了这个。

let address = req.body.address;