亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 json 對象解析為數組

將 json 對象解析為數組

郎朗坤 2022-09-23 10:05:46
我被困在這個,我不知道該怎么做。所以基本上我從API得到了這個json數據:這是我在記錄數據時在控制臺中得到的:我想做的是解析這個對象,以獲取id,標題,網址,縮略圖Url并將它們存儲到一個新的數組中獲取數據的代碼:const [photo,setPhoto] = useState([])    const newPhotosLocally = photo    useEffect(() => {        axios.get("https://jsonplaceholder.typicode.com/photos").then(            result => {                setPhoto(result.data)            }        )    },[])希望你能幫助我,謝謝你
查看完整描述

4 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

您可以映射響應返回的每個項目,如下所示:


const [photo,setPhoto] = useState([])

const newPhotosLocally = photo


useEffect(() => {

    axios.get("https://jsonplaceholder.typicode.com/photos").then(

        result => {

            var dataArray = result.data.map(({id, title, url, thumbnailUrl}) => ({id, title, url, thumbnailUrl}));

            //do something with the array

        }

    )


},[])

此數據數組將包含 API 返回的所有項目


查看完整回答
反對 回復 2022-09-23
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

您已經擁有所需的所有數據。如果您只需要某些特定字段,請使用地圖運算符。

const newData = result.data.map(obj => {id,title,url,thumbnailUrl});

這將為您提供新數組中的必填字段(映射負責新數組)。


查看完整回答
反對 回復 2022-09-23
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

您可以直接在返回公理中分配給數組批處理。

這是完整的代碼。


const [photo,setPhoto] = useState([])

useEffect(() => {

  axios.get("https://jsonplaceholder.typicode.com/photos").then(

      result => {

        // Add bellow here code

        let newData = result.data.map(({id, title, url, thumbnailUrl}) => ({id, title, url, thumbnailUrl}));

        setPhoto(newData);

      }

  )

},[])


查看完整回答
反對 回復 2022-09-23
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

下面是新數組。newData

var newData = [...result.data];

如果你只想拿幾個屬性。下面將為您提供僅具有上述屬性的新數組。

var newData = result.data.map(({id, title, url, thumbnailUrl}) => ({id, title, url, thumbnailUrl}));

由于從API獲取了如此多的記錄,還要考慮是否要進行多次調用并僅獲取所需的記錄。還要考慮是否真的要修剪屬性的數量,因為有效負載稍微大一些。


查看完整回答
反對 回復 2022-09-23
  • 4 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號