当前位置:   article > 正文

PHP中json_decode函数_php json_decode

php json_decode

JSON函数

json_decode函数

JSON 字符串 :

JSON 中的字符串必须用双引号包围。

例如 {"ctf":"play"} 俩字符串用:隔开

JSON 数字 :

JSON 中的数字必须是整数或浮点数。

例如 {"ctf":100}

在 JSON 中,值必须是以下数据类型之一:字符串,数字,对象(json对象),数组,布尔,null

不可以为以下数据类型之一: 函数,日期,undefined

json_decode

在PHP中 json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。

代码

<?php`
`$json = '{"ctfer":"sanmao","ctf":"misc","age":18,"bisai":14,"champion":5}';`
​
`var_dump(json_decode($json));`
`var_dump(json_decode($json, true));`
`?>

实例演示

例题

[[SWPUCTF 2021 新生赛] jicao]

源代码

<?php
highlight_file('index.php');
include("flag.php");
$id=$_POST['id'];
$json=json_decode($_GET['json'],true);
if ($id=="wllmNB"&&$json['x']=="wllm")
{echo $flag;}
?>

本题需要进行一个post传参,一个get传参,post传参很简单,在Max HackBar或者在BP里传入 id=wllmNB

但是get传参则需要通过调用 PHP 内置函数 json_decode(),将字符串解析为一个关联数组,第二个参数 true 表示将解析结果以数组形式返回。最终将解析得到的数组赋值给变量 $json,可以在后续的代码中使用。

即构造 url+/?json={"x":"wllm"} 即上面所学json对字符串的值

即可得到flag

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/146937
推荐阅读
相关标签
  

闽ICP备14008679号