实际上我正在寻找一种方法来验证json中的元素。我认为有一种方法可以列出它们来严格避免接受错误的元素。例如,代替下面所示的“gender”:“male”,有人可以发送“sex”:“male”,我试图避免它。
我有一个名为Profile的数据字段(列)profile = {'name': 'Payne', 'gender': 'male', 'favourites': [{'drinks': 'soda'}, {'colour': 'blue'}, {'game': 'scrabble'}], 'dob': '1962'}
我正在使用第三方API来填充使用HttpClient
的数据库。
我的响应返回JSON,我想用它做一些决定并将其存储在数据库中,但我需要严格验证它是否符合预期。
2条答案
按热度按时间zlhcx6iw1#
关于验证:
如果你知道如何使用数组,你仍然可以解码它并将其验证为数组,然后再次编码。Symfony有一个验证器服务,但我不知道如何在所有情况下正确使用它。
验证器服务的官方Symfony文档以及如何使用它可以在此链接中找到,它的锚:https://symfony.com/doc/current/validation.html
https://symfony.com/doc/current/validation.html#using-the-validator-service
PHP中JSON的一些信息:
json
最典型的用途,甚至是从数据库更新和下载内容,是使用json_encode()
和json_decode()
,这基本上可以帮助您在不同的用例中使阵列更具“可移植性”。例如,在接受JSON类型的MySQL中,您可以通过使用JSON对数组进行编码来将数组插入到列中。
如果您想在Symfony中声明一个JSON类型变量,可以按照下面的示例进行:
json_encode()
和json_decode()
均从PHP v5.2.0
开始提供作为DB的一个示例,
JSON
类型在5.7.8
(https://dev.mysql.com/doc/refman/5.7/en/json.html)版本中被添加到MySQL
中。你应该看看这些链接:
https://www.php.net/manual/es/function.json-encode.php
https://www.php.net/manual/es/function.json-decode.php
https://www.w3schools.com/js/js_json_php.asp
https://dev.mysql.com/doc/refman/8.0/en/
xe55xuns2#
下面是一个symfony 6.3的例子: