【问题标题】:Why my double quotes are received as single quotes?为什么我的双引号作为单引号收到?
【发布时间】:2026-01-31 01:15:02
【问题描述】:

我在 Python 中创建了一个 JSON 对象,并将其发送到我的 JavaScript 文件以在网站上显示该值。

我已经尝试过使用单引号,双引号之间的单引号

InfosThymio = {"proxh": "N/A"}

然后我发送它:

def getInfos():
    global infosThymio
    return str(infosThymio)

我的问题是 JavaScript 得到它是这样的:
{'proxh':'N/A'} 而我得到的是unexpected token ' at position 1

在 JavaScript 中,我使用这种方式来获取 JSON 并对其进行解析:

 getRobotData() {
        api.get()
            .then((data) => data.json())
            .then((res) => {
                const data = JSON.parse(res);
                this.setCapteur('hProxi', data.proxh);

【问题讨论】:

    标签: javascript python json string


    【解决方案1】:

    你不需要写const data = JSON.parse(res);,因为JSON已经用.then((data) => data.json())这一行解析了

    .then((data) => data.json()) 行告诉计算机解析来自您的 API 的 JSON 响应并返回生成的 javascript 对象。

    这样命名变量在语义上更正确:

    getRobotData() {
      api.get()
        .then((res) => res.json()) // The JSON response is parsed into data
        .then((data) => {
          // Do something with your data
    
    

    【讨论】: