php - 为什么在此 JSON 字符串上使用 json_decode 会导致空值
问题描述
"op=add&item={"firstName":"test","lastName":"test","email":"test%40test.com","password":"test"}"
我将上面的 JSON 正文传递给我的 PHP 后端,当尝试对其使用 json_decode 时,它会导致 null。我使用了 json_last_error() ,它指出存在语法问题。使用 jsonlint.com,它给了我这个错误:
Error: Parse error on line 1:
"op=add&item={"firstName ":"test "
---------------^
Expecting 'EOF', '}', ':', ',', ']', got 'undefined'
我已尝试解决此错误,但未能获得成功的响应。有人可以描述问题可能是什么吗?
解决方案
为了json_decode()
工作,它需要一个字符串。查看您的语法,外部引号似乎不正确。
你的:
"op=add&item={"firstName":"test","lastName":"test","email":"test%40test.com","password":"test"}"
他们应该是:
'op=add&item={"firstName":"test","lastName":"test","email":"test%40test.com","password":"test"}'
如果你使用单引号,它是一个正确的字符串。哪个可以解码。
推荐阅读
- python - 如何与无法通过 google-chrome-devtools 中的 css/xpath 检查的元素进行交互
- javascript - 如何使用 aiohttp 获取带有 javascript 的网页?
- ios - CoreData 的问题
- sql - 查找并生成某个范围日期的值
- amazon-web-services - VPC 共享的工作原理
- c# - 使用 C# 的自动字母数字唯一 ID
- php - 循环递减值
- c# - WCF:如何在远程机器上启动简单的 cmd 命令
- javascript - bcm2835_init:无法打开 /dev/mem:权限被拒绝
- lua - lua
预计接近尾声