我在stackoverflow上遇到的第一个问题:
我有一个加载JSON数据的类。
这是课程:
class example {
public $url = array(
"location" => "http://www.example.com/location/?{city}.json",
);
public $location = array();
public function load($url_template = NULL, $params = array(), $overwrite = false) {
$this->$url_template = $this->load_json(
$this->build_url($url_template, $params)
);
}
public function load_json($url) {
return json_decode($url);
}
}
我用在外面:
$example = new example();
$example->load("location", array(
'city' => 'Boston',
));
当我这样做
echo $example->country->name;
echo $example->blabla->blub;
我想要类似的信息
$ example-> country-> name被调用,返回值为“ Boston”
$ example-> blabla-> blub被调用,但属性“ blabla”不存在 并且属性“ blub”也不存在,因此返回值为 “不适用”
在课堂上。
谢谢你, harry_bo
答案 0 :(得分:0)
您可以做的第一件事就是验证JSON(如果有模式)输入。
有关JSON模式的更多信息: https://json-schema.org/
此处有更多信息: JSON schema validation with PHP
当然,您可以使用PHP进行所有操作并验证每个可能的条目。
if (isset($class->country)) {
if (isset($class->country->name) ) {
// validate this is really a country
} else {
// no country name set ...
}
// .. more validation ..
} else {
// no country given
}