php 는 json-schema 모듈 을 사용 하여 json 검사 예 시 를 실현 합 니 다.

본 고 는 php 가 json-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 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기