Python SyntaxError :“字符处没有可行的替代方法

问题描述

payload1 = {
"id": 001200805015428001,"action": [
        {
            "action": "pickup","target": {
                "station": "Shiloh_1"
            }
        },{
            "action": "wait","time": 5,"signal": {
                "delay": 30
            },"event": {
                "action_done": {
                    "request": {
                        "uri": "https:\/\/posthere.io\/44cc-4b29-bafd","post": {
                            "hi": "there"
                        },"json": true
                    }
                }
            }
        },{
            "action": "drop_here","event": {
                "action_done": "order_done"
            }
        }
    ]
}

错误SyntaxError :(“在字符','上没有可行的选择,”,(“,2、28,'“ id”:001200805015428001,\ n'))

我正在尝试打包json,然后通过http post请求发送到另一个Web服务器。我可以在Web服务器gui上运行有效负载,并看到它可以正常工作,因此语法应该正确。我已经检查了notepad ++中的代码,但没有看到任何隐藏的特殊字符。自从另一个问题提到了这一点以来,我已经手动替换了每个报价。我现在有点茫然。

所以我有两个问题。

  1. 是什么导致我收到的SyntaxError?

  2. 是否有更好的方法解决/跟踪导致语法错误的原因?

解决方法

您粘贴的内容不是有效的Python。

转向

"id": 001200805015428001,

融入其中

"id": "001200805015428001",

"id": 1200805015428001,

确实可以对其进行解析(但是请注意整数和字符串之间的语义不同)。