簡體   English   中英

無法將響應正文解析為 JSON

[英]Could not parse response body as JSON

嗨,今天我來是因為我在使用您的配置進行編碼時遇到了一個錯誤,其中有兩個示例,一個沒有錯誤,一個是故障。 當然是用我的代碼。 感謝您的幫助 <3

axios-get-json-respone允許進行配置並更輕松地解析 json

例如,當我鍵入 api 的 doge 響應時:'\x03\x0E�{"dogecoin":{"usd":0.092733}}\x03'

const { Client,GatewayIntentBits} = require('discord.js');
const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent,
        GatewayIntentBits.GuildMembers,
    ],
});
const axios = require("axios");
const Promise = require("bluebird");
const getJson = require("axios-get-json-response");

client.on('messageCreate', async (message) => {
  if (message.content.startsWith('!doge')){
    const a = Math.random() * (5-0) + 1
    var b = parseInt(a);
    console.log(b)
    const { data } = await axios.get(
      `https://dogechain.info/chain/Dogecoin/q/addressbalance/DQzs4yzLoR3UJ3YdCRSD7eEeW3kv5gdca2`
    );

      Promise.try(() => {
        return axios.get("https://api.coingecko.com/api/v3/simple/price?ids=dogecoin&vs_currencies=usd", getJson.axiosConfiguration).then((response) => {
          console.log(response)
          let parsedJsonbalance = getJson.parse(response);


          const dataprice = (parsedJsonbalance.totalAssetInUsd)

    const checkprice = data * dataprice

    message.reply(`Le solde du wallet dogecoin simcash est ${checkprice}usd`)

    if (b == 5) {
      message.reply(`N'hésitez pas a mettre mon code d'affiliation simcash XMHX3 cela me soutiens énormement <3 clarity`)
    }
  })})}})

client.on('messageCreate', async (message) => {
    if (message.content.startsWith('!usdt')){
      const a = Math.random() * (5-0) + 1
      var b = parseInt(a);
      console.log(b)
      Promise.try(() => {
        return axios.get("https://apilist.tronscanapi.com/api/account/token_asset_overview?address=TTiLvHXVBRHuF6xDP6Y3tZs5XPvkpYSReA", getJson.axiosConfiguration);
    }).then((response) => {
        console.log(response)
        let parsedJsonbalance = getJson.parse(response);

        const data = (parsedJsonbalance.totalAssetInUsd)

        console.log(data)
  
      message.reply(`Le solde du wallet Usdt Tron simcash est ${data} usd`)

      if (b == 5) {
        message.reply(`N'hésitez pas a mettre mon code d'affiliation simcash XMHX3 cela me soutiens énormement <3 clarity`)
      }
    })}})

我期待像 json 沒有損壞的 tronscan api 這樣的響應

在 v1.2.1 中,修復了這個錯誤。

需要在axios中分配Accept-Encoding API

演示代碼

const axios = require("axios");

axios.get('https://api.coingecko.com/api/v3/simple/price?ids=dogecoin&vs_currencies=usd',
    {
        headers: {
            'Accept-Encoding': 'application/json',
        }
    })
    .then(response => console.log(response.data))

結果

$ node get-data.js
{ dogecoin: { usd: 0.091464 } }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM