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

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

Json Parse for an Integer 作為 Javascript 中的鍵

Json Parse for an Integer 作為 Javascript 中的鍵

慕容708150 2023-05-11 16:51:49
我已經搜索了將近 2 小時,但找不到任何使用整數作為鍵的人。我的 json 對象看起來像:{"342227492064425":    {"added":"2020-10-04T23:02:28.030432",     "listed":"2020-10-04T23:02:28.030432",     "subscribed":"2020-10-04T23:02:28.030432"},"342731155590705":    {"added":"2020-10-04T23:02:28.030432",     "listed":"2020-10-04T23:02:28.030432",     "subscribed":"2020-10-04T23:02:28.030432"}}我該如何解析這個??我嘗試使用 data.map 并使用 for 循環(data.length),但都是徒勞的。請幫忙。我的嘗試:fetch(url).then((response)=>{        return response.json();    }).then((data)=>{    for(var i = 0; i < data.length; i++) {        subscription += data[i].subscribed        //data.length doesn't work    }}編輯:我想在我的 HTML 代碼中使用它。我也不知道 json 文件中會有多少數字,所以我想輸出一個我可以使用的地圖:data[0].susbcribed。在這里,我想知道 var i 需要多長時間。
查看完整描述

3 回答

?
瀟瀟雨雨

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

看起來像整數的鍵沒有什么特別之處。在 JavaScript 中,屬性名總是字符串,它們看起來像大整數這一事實無關緊要。就像對待任何其他對象一樣對待它。

您可以使用Object.keys()獲取屬性名稱數組、Object.values()獲取屬性值數組以及Object.entries()獲取名稱和值的二維數組。

Object.entries(data).forEach(([key, value]) => console.log(`${key} added on ${value.added}`);



查看完整回答
反對 回復 2023-05-11
?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

您正在嘗試從一個對象訪問 .map() ,您要做的是將您的對象變成一個數組:


const data = {

    342227492064425: {

        added: "2020-10-04T23:02:28.030432",

        listed: "2020-10-04T23:02:28.030432",

        subscribed: "2020-10-04T23:02:28.030432",

    },

    342731155590705: {

        added: "2020-10-04T23:02:28.030432",

        listed: "2020-10-04T23:02:28.030432",

        subscribed: "2020-10-04T23:02:28.030432",

    },

};


//create the array which will hold all the values of the object

const data_array = [];


//loop through the object keys and store their values in data_array

for (let key of Object.keys(data)) {

    data_array.push(data[key]);

}


//now data_array[0].subscribed is accessible

console.log(data_array[0].subscribed);


//map() is also accessible

data_array.map((item) => {

    /* logic */

});


查看完整回答
反對 回復 2023-05-11
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

data.length您不能在對象中使用,應該用于計算字符串和/或數組長度中的字符數

一個 Number,表示數組對象中元素的個數

參考:JavaScript 數組長度屬性

如果您需要使用,我對您有一個建議,data.length所以基本上將您的對象推送到一個新數組。

有很多方法可以做到這一點,例如

? ? var data = [];

var objects = {"342227492064425":

? ? {"added":"2020-10-04T23:02:28.030432",

? ? ?"listed":"2020-10-04T23:02:28.030432",

? ? ?"subscribed":"2020-10-04T23:02:28.030432"},

"342731155590705":

? ? {"added":"2020-10-04T23:02:28.030432",

? ? ?"listed":"2020-10-04T23:02:28.030432",

? ? ?"subscribed":"2020-10-04T23:02:28.030432"}

}

// Convert Objects to Array via forEach function and Push method

Object.entries(objects).forEach((key, value) => data.push(key));

數組值:


console.log(data);

輸出:


/*


["342227492064425", {added: "2020-10-04T23:02:28.030432", listed: "2020-10-04T23:02:28.030432", subscribed: "2020-10-04T23:02:28.030432"}],

["342731155590705", {added: "2020-10-04T23:02:28.030432", listed: "2020-10-04T23:02:28.030432", subscribed: "2020-10-04T23:02:28.030432"}]


*/

第一個 ID 值


console.log(data[0][0])

第二個 ID 值


console.log(data[1][0])

訪問第一個對象值


console.log(data[0][1].added)

console.log(data[0][1].listed)

console.log(data[0][1].subscribed)

訪問第二個對象值


console.log(data[1][1].added)

console.log(data[1][1].listed)

console.log(data[1][1].subscribed)

現在,您可以使用data.length輸出是:(2)


查看完整回答
反對 回復 2023-05-11
  • 3 回答
  • 0 關注
  • 324 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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