php 는 json-schema 모듈 을 사용 하여 json 검사 예 시 를 실현 합 니 다.
3522 단어 phpjson-schema 모듈json 검사
클 라 이언 트 와 서버 의 http 정보 전달 은 json 을 사용 하여 거의 표준 이 되 었 다.json 형식 은 간단 하고 처리 하기 쉽 지만 형식 규정 이 없어 서 검증 할 수 없습니다.
다행히 php 에 json-schema 모듈 이 있어 서 json 이 규정된 형식 에 부합 되 는 지 검증 할 수 있 습 니 다.
설치 사용 composer
composer require justinrainbow/json-schema:~1.3
schema.json 과 같은 schema 파일 을 새로 만 듭 니 다.
{
"type": "object",
"properties": {
"firstName": {
"type": "string",
"required": true
},
"lastName": {
"type": "string"
},
"age": {
"type": "integer",
"minimum": 0
},
"data":{
"type":"object",
"required":true,
"properties":{
}
}
}
}
필드 에 소켓 구 조 를 삽입 할 수 있 습 니 다.properties 가 비어 있 으 면 임 의 할 수 있 습 니 다.예 를 들 어 위의 data 와 같 습 니 다.종류:
array
A JSON array.
boolean
A JSON boolean.
integer
A JSON number without a fraction or exponent part.
number
Any JSON number. Number includes integer.
null
The JSON null value.
object
A JSON object.
string
A JSON string.
php 코드 는 다음 과 같 습 니 다:
$json = '{"firstName":"ban", "lastName":"shan","age":1,"data":{"hobby":"coding"} }';
$validator = new JsonSchema\Validator;
$schema = file_get_contents("schema.json");
$validator->check(json_decode($json), json_decode($schema));
if ($validator->isValid()) {
echo "The supplied JSON validates against the schema.
";
} else {
echo "JSON does not validate. Violations:
";
foreach ($validator->getErrors() as $error) {
echo sprintf("[%s] %s
", $error['property'], $error['message']);
}
}
이렇게 하면 먼저 통신 의 schema 를 정의 하고 json 이 클 라 이언 트 에 게 보 내기 전에 약속 과 같은 지 확인 하여 불필요 한 오 류 를 피 할 수 있 습 니 다.링크 참조,json-schema문서,phop 의json-schema실현.
완전한 코드여기
PS:본 사 이 트 는 다음 과 같은 XML 과 JSON 관련 도 구 를 제공 하여 여러분 이 참고 하여 사용 하기에 편리 합 니 다.
온라인 XML/JSON 상호 변환 도구:
http://tools.jb51.net/code/xmljson
php 코드 온라인 포맷 미화 도구:
http://tools.jb51.net/code/phpformat
온라인 XML 포맷/압축 도구:
http://tools.jb51.net/code/xmlformat
json 코드 온라인 포맷/미화/압축/편집/변환 도구:
http://tools.jb51.net/code/jsoncodeformat
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.