如何在laravel中验证json数据
Posted
技术标签:
【中文标题】如何在laravel中验证json数据【英文标题】:how to validate json data in laravel 【发布时间】:2019-06-10 11:11:45 【问题描述】:这是我通过邮递员发送的“规格”字段的 json 数据:
"specification": [
"type": [
"type": "Smartphone , Phablet , Notch Phone , Camera Phone , Selfie Phone",
"shape": "Bar"
],
"basic": [
"os": "Smartphone , Phablet , Notch Phone , Camera Phone , Selfie Phone",
"Sim": "Bar"
]
]
那么在控制器中验证规则是:
'specification' => 'required|json'
错误消息:“规范必须是有效的 JSON 字符串。”
如何在 laravel 控制器中发送和检查有效的 json?
【问题讨论】:
【参考方案1】:来自documentation:
json
验证中的字段必须是有效的JSON 字符串。
你的数据已经被 Laravel 自己从 JSON 中解析出来了,specification
已经是一个数组,而不是一个 JSON 字符串。您可以通过将规则更改为 required|array
来检查它,您会看到它通过了。
【讨论】:
@TapashDatta 也许您可以分享更多信息您发送此请求的准确程度:标头、正文等。【参考方案2】:您在此处发布的字符串不是有效的 json 字符串。有效的 json 字符串以 和
开头和结尾。所以在你的情况下应该是这样的:
"specification": [
"type": [
"type": "Smartphone , Phablet , Notch Phone , Camera Phone , Selfie Phone",
"shape": "Bar"
],
"basic": [
"os": "Smartphone , Phablet , Notch Phone , Camera Phone , Selfie Phone",
"Sim": "Bar"
]
]
【讨论】:
以上是关于如何在laravel中验证json数据的主要内容,如果未能解决你的问题,请参考以下文章
在 laravel 中以 json 数据的形式从验证器发出响应