php - 什么是json错误?(PHP json_encode)
问题描述
它不起作用,我不知道为什么。
我已经尝试将第 2 列变成一个字符串(下面的代码),但它无法正常工作。
<?php
$url = 'https://discordapp.com/api/v6/science';
$data = json_decode($response);
$ch = curl_init();
$json = array( "channel_id" => $data->channel->id,
"channel_type" => $data->channel->type,
"client_performance_cpu" => 48,
"client_performance_memory" => 833620,
"client_send_timestamp" => time(),
"client_track_timestamp" => time(),
"client_uuid" => $data->channel->id,
"code" => $_GET["invite"],
"destination_user_id" => null,
"guild_id" => $data->channel->id,
"invite_type" => "Server Invite",
"inviter_id" => $data->inviter->id,
"location" => "Join Guild Modal",
"resolved" => "true",
"size_online" => $data->approximate_presence_count,
"size_total" => $data->approximate_member_count,
"type" => "resolve_invite",
"token" => $_GET["token"]
);
$payload = json_encode($json);
print_r($json);
echo "<br/><br/> $payload";
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => array('Authorization: ' . $_GET["token"]),
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_VERBOSE => 1,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POSTFIELDS => $json
));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($json)
));
$response = curl_exec($ch);
fclose($f);
curl_close($ch);
echo "<br/><br/>" . $response;
?>
我希望它成功转换为 JSON,但它回复:
Json 反序列化错误:第 1 行第 2 列的数字无效
解决方案
<?php
// for multiple array json
$ip_data = @json_decode(file_get_contents("http://hitcarts.com/mobile_api/vender/all_product.php?vender_id=1"));
print_r($ip_data);
echo "<br><br><br><br>";
echo $result = $ip_data[0]->name."<br>";
echo $city = $ip_data[0]->create_at."<br>";
echo $city = $ip_data[0]->menu_name."<br>";
echo $city = $ip_data[0]->category_name."<br>";
echo "<br><br><br><br>";
// for single array json
$ip_data2 = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=103.7.78.177"));
print_r($ip_data2);
echo "<br><br><br><br>";
echo $result = $ip_data2->geoplugin_city."<br>";
echo $city = $ip_data2->geoplugin_region."<br>";
echo $city = $ip_data2->geoplugin_countryName."<br>";
echo $city = $ip_data2->geoplugin_currencyCode."<br>";
?>
推荐阅读
- matplotlib - matplotlib.animation 可以在将帧保存到文件时显示帧吗?
- mysql - 如何在同一个表中找到最新的条目
- r - R语言用户输入if条件
- php - Symfony 4:在 Sonata 的 configureFormFields 方法中使用现有的表单类型类
- angular - html中对象数组的角度更改属性值
- css - 背景比div大
- angular - 如何在两个单独的模块中包含一个组件?
- javascript - 当单元格值更改时运行函数(onEdit 函数)
- bash - Windows 10 的 Git Bash 在运行“bq query”而不是“bq mk”等时遇到路径错误
- css - 如何将 CSS 背景图像加载到管理部分