搜尋

首頁  >  問答  >  主體

使用React-Query和Axios將JSON資料解析為TypeScript物件的簡單方法

這是我從伺服器接收到的JSON資料:

{"id" : 1, "text_data": "example data"}

現在我正在嘗試將這個JSON資料解析成TS物件:

export interface IncomingData {
  id: number;
  text_data: string;
}

function App() {

  // 它可以重写为 'await axios.get<IncomingData>('http://localhost:3000/api')' 并删除 useQuery 的 turbofish 语法。没有任何变化。
 
  let json_object = useQuery<IncomingData>("data_ex_key", async () => {
    try {
      const response = await axios.get('http://localhost:3000/api');
      return response.data;
    } catch (err) {
      throw err
    }
  });

  if (json_object.data !== undefined) {
    console.log(json_object.data.text_data);
  }
}

在控制台中,我得到了undefined的文字。問題是我已經使用了react-query調試器調試了這段程式碼,並顯示json_object查詢已成功取得資料。我可以存取這些數據,但無法存取其屬性,例如text_data

P粉621033928P粉621033928346 天前535

全部回覆(1)我來回復

  • P粉310931198

    P粉3109311982024-01-17 00:36:18

    找到了一個解決方案。

    需要使用陣列而不是單一物件。

    回覆
    0
  • 取消回覆