JSON:如何在PHP中检查模式
我是个新手。我试图对PHP中的REST应用程序有一些经验。因此,我接收(发布)一个JSON主体并将值存储在数据库中。我只想检查我得到的JSON主体是否正确,是否与我设置的特定模式匹配。我需要这样的东西(例如): 我的模式:JSON:如何在PHP中检查模式,php,json,Php,Json,我是个新手。我试图对PHP中的REST应用程序有一些经验。因此,我接收(发布)一个JSON主体并将值存储在数据库中。我只想检查我得到的JSON主体是否正确,是否与我设置的特定模式匹配。我需要这样的东西(例如): 我的模式: {"id":"int", "name":"string", "value":"double" } 我只想检查我的JSON正文是否包含相同的字段和类型。提前谢谢 更新 谢谢大家的回答。我想听听克里希普洛尔斯基的回答。这正是我需要的。所以我使用的是Ubuntu12.04LTS和
{"id":"int",
"name":"string",
"value":"double"
}
我只想检查我的JSON正文是否包含相同的字段和类型。提前谢谢
更新
谢谢大家的回答。我想听听克里希普洛尔斯基的回答。这正是我需要的。所以我使用的是Ubuntu12.04LTS和NGINX服务器。我只通过Composer安装了HttpFoundation和验证程序组件。现在在我的“www”文件夹中,我有一个名为“vendor”的文件夹,Symfony的组件就在那里(我不知道这个文件夹是否必须在那里)。为了进行检查,我制作了一个取自web上一些示例的脚本,但我遇到了一个“500内部服务器错误”。脚本如下所示:
<?php
require 'vendor/autoload.php';
use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Constraints\Lenght;
class user{
public function utente(){
$validator = Validation::createValidator();
$violations = $validator->validateValue('Bernhard', new Lenght(array('min'=>10)));
echo $violations;
}
}
$a = new user;
$a->utente();
?>
有什么建议吗?谢谢你想要支票价值
您可以使用json\u decode()
函数对json字符串进行解码
例如:
$json = {"id":"int",
"name":"string",
"value":"double"
};
$decode = json_decode($json);
if($decode->value == 'Your value') {
//your code
} else {
echo 'Incorerct!';
}
嘿,你可以用php解码你的json 使用json\u解码函数
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
$array1 = json_decode($json, true);// it will return an array
有关json_解码的更多信息
并且可以将数据结构数组($array2)与此数组进行比较
通过交叉它们
$result = array_intersect($array1, $array2);
print_r($result);
您可以使用Symfony Validator组件根据您的模式验证json中的数据:
您可以使用检查它是否为有效语法
$json = '{"id":"int",
"name":"string",
"value":"double"
}';
$decoded = json_decode($json, true);
if($decoded == null){
//your error message
echo "Error in JSON Format";
}
如果字符串无效,json_decode将返回一个空值json_decode
,并带有第二个参数true
返回传递的json的键索引数组
$json = '{"id":"int",
"name":"string",
"value":"double"
}';
$decoded = json_decode($json, true);
if($decoded == null){
//your error message
echo "Error in JSON Format";
}