我正在尝试将JSON Web令牌解码为JSON解析版本,
但它所做的只是在字符串中添加斜线。
这是我正在测试的代码:
<?php
$string = base64_decode("eyJpZCI6IDYsICJ1c2VybmFtZSI6IkNsZW1lbnMiLCAiYXV0aGx2bCI6NX0");
$jsonObject = json_encode($string, JSON_UNESCAPED_SLASHES);
echo $jsonObject;
?>
我想要获取的数据应该是这样的:
[
'id': 6,
'username': Clemens,
'authlvl': 5
]
但是它更改为:
{"id": 6, "username":"Clemens", "authlvl":5}
或这个:
"{\"id\": 6, \"username\":\"Clemens\", \"authlvl\":5}"
有人可以告诉我我在做什么错,我已经尝试了许多类似这些方法的方法:
我认为您在犯一个小错误。
Base64编码的数据已经是JSONString所以在PHP中使用它,你需要json_decode()
它不是json_encode()
它
$string = base64_decode("eyJpZCI6IDYsICJ1c2VybmFtZSI6IkNsZW1lbnMiLCAiYXV0aGx2bCI6NX0");
echo $string.PHP_EOL;
$jsonObject = json_decode($string);
print_r($jsonObject);
回声结果
{"id": 6, "username":"Clemens", "authlvl":5}
的结果 print_r()
stdClass Object
(
[id] => 6
[username] => Clemens
[authlvl] => 5
)
或者只是回声$string
$string = base64_decode("eyJpZCI6IDYsICJ1c2VybmFtZSI6IkNsZW1lbnMiLCAiYXV0aGx2bCI6NX0");
echo $string.PHP_EOL;
结果,有效的JSON
{"id": 6, "username":"Clemens", "authlvl":5}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句