首页 > 解决方案 > 什么是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 列的数字无效

标签: phpcurldiscord

解决方案


<?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>";
 ?>


推荐阅读