Php 仅验证一层
我想验证一个包含json的变量只有一级简单格式。是否有人可以提供一个仅验证一个级别而不是多级别验证的示例Php 仅验证一层,php,json,formatting,Php,Json,Formatting,我想验证一个包含json的变量只有一级简单格式。是否有人可以提供一个仅验证一个级别而不是多级别验证的示例 <?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; isValidOnlayer($json); // True $json = '{ "id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "batters": {
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
isValidOnlayer($json); // True
$json = '{
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 0.55,
"batters":
{
"batter":
[
{ "id": "1001", "type": "Regular" },
{ "id": "1002", "type": "Chocolate" },
{ "id": "1003", "type": "Blueberry" },
{ "id": "1004", "type": "Devil's Food" }
]
},
"topping":
[
{ "id": "5001", "type": "None" },
{ "id": "5002", "type": "Glazed" },
{ "id": "5005", "type": "Sugar" },
{ "id": "5007", "type": "Powdered Sugar" },
{ "id": "5006", "type": "Chocolate with Sprinkles" },
{ "id": "5003", "type": "Chocolate" },
{ "id": "5004", "type": "Maple" }
]
}'
isValidOnlayer($json); // False
?>
您可以使用此功能:
count(array_filter(json_decode($json, 1), 'is_array'))
如果$tmp为null
,则会发生错误。如果是深度限制,问题将返回JSON\u ERROR\u depth
层可以是数组/对象/原语,还是仅是对象?
$tmp = json_decode($json, true, 2); // depth=2, the array "itself" is level 1, its elements are level 2