MS Access VBA调用Neto站点API POST请求返回JSON错误如何解决
问题解决方法
核心错误原因
你的请求体JSON存在两处语法问题,符合报错提示的解析错误:
- JSON规范要求所有键名、字符串值必须使用双引号包裹,你原本用单引号不符合要求;而VBA中字符串内部的双引号需要用两个连续双引号转义,才能输出为JSON需要的字面双引号,直接替换单引号为双引号会触发VBA语法错误,生成的内容不符合预期。
- 原有JSON存在多余尾逗号:
OutputSelector数组最后一个元素后、Filter对象最后一个属性后都多了逗号,严格JSON规范不允许这种尾逗号。
修正后的代码片段
只需替换你原有strJson的构造逻辑即可:
strJson = "{" & _ """Filter"": {" & _ """OrderStatus"": ""Pick""," & _ """OutputSelector"": [" & _ """OrderID""," & _ """ShippingOption""" & _ "]" & _ "}" & _ "}"
调试建议
构造完strJson后可以先执行Debug.Print strJson,把输出的内容复制到JSON校验工具验证语法正确性,确认无误后再发送请求,能快速定位格式问题。
内容的提问来源于stack exchange,提问作者dbblmb
相关产品推荐
相关产品推荐

