Php 如何将json web令牌转换为json对象?
我正在尝试将我的JSON Web令牌解码为JSON解析版本 但它所做的只是在字符串中添加斜杠Php 如何将json web令牌转换为json对象?,php,jwt,Php,Jwt,我正在尝试将我的JSON Web令牌解码为JSON解析版本 但它所做的只是在字符串中添加斜杠 这是我测试它的代码: <?php $string = base64_decode("eyJpZCI6IDYsICJ1c2VybmFtZSI6IkNsZW1lbnMiLCAiYXV0aGx2bCI6NX0"); $jsonObject = json_encode($string, JSON_UNESCAPED_SLASHES); echo $jsonObject; ?> 但它改变了这
这是我测试它的代码:
<?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}"
有人能告诉我我做错了什么吗?我已经尝试过很多类似的方法:
我认为你犯了一个小错误 base64编码的数据已经是一个JSONString,因此要在PHP中使用它,您需要
json\u decode()
it而不是json\u encode()
it
$string = base64_decode("eyJpZCI6IDYsICJ1c2VybmFtZSI6IkNsZW1lbnMiLCAiYXV0aGx2bCI6NX0");
echo $string.PHP_EOL;
$jsonObject = json_decode($string);
print_r($jsonObject);
回波结果
{"id": 6, "username":"Clemens", "authlvl":5}
print\u r()的结果
或者只需回显$string
$string = base64_decode("eyJpZCI6IDYsICJ1c2VybmFtZSI6IkNsZW1lbnMiLCAiYXV0aGx2bCI6NX0");
echo $string.PHP_EOL;
结果为有效的JSON
{"id": 6, "username":"Clemens", "authlvl":5}
您想要的版本不是有效的JSON(您只能拥有具有命名属性的对象),此{“id”:6,“username”:“Clemens”,“authlvl”:5}
是正确的JSON。为了简单起见,感谢您提供此信息!
$string = base64_decode("eyJpZCI6IDYsICJ1c2VybmFtZSI6IkNsZW1lbnMiLCAiYXV0aGx2bCI6NX0");
echo $string.PHP_EOL;
{"id": 6, "username":"Clemens", "authlvl":5}