第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么 JSON.parse() 會(huì)刪除字符串中存在的一些屬性?

為什么 JSON.parse() 會(huì)刪除字符串中存在的一些屬性?

汪汪一只貓 2023-09-28 09:48:09
我注意到在我的客戶端代碼中,我的服務(wù)響應(yīng)缺少一些(但不是全部)屬性。當(dāng)我查看 Chrome 中的開發(fā)工具“網(wǎng)絡(luò)”選項(xiàng)卡時(shí),我發(fā)現(xiàn)服務(wù)響應(yīng)似乎包含這些缺失的屬性,但從 Angular http 客戶端返回的對(duì)象卻沒有。因此,出于調(diào)試目的,我嘗試配置我的 http 客戶端請(qǐng)求選項(xiàng),將響應(yīng)正文解釋為文本并返回字符串并記錄它。然后我做了一個(gè) JSON.parse(responseText) 。記錄的responseText具有我期望的全套屬性,但JSON.parse失敗并出現(xiàn)意外的令牌異常。因此,在發(fā)現(xiàn)一些轉(zhuǎn)義反斜杠似乎導(dǎo)致解析問題后,我嘗試在響應(yīng)和解析之間注入 JSON.stringify 。我還記錄了字符串化響應(yīng),它仍然顯示了全套預(yù)期屬性。添加 stringify 后 JSON.parse 也通過了。但是,JSON.parse 導(dǎo)致原來丟失的屬性被刪除。在這種情況下我沒有收到解析錯(cuò)誤。只是缺少一些屬性。源字符串中第一個(gè)缺失的屬性是一個(gè)名為 id 的簡單屬性,其中包含 UUID 字符串值。它后面的三個(gè)屬性也丟失了。{"a": "A","b": "B","c": "C", "id": "726abb0e-6cc6-4496-94a2-906439c06a30","1": 12345,"2": "stringVal","3": "stringValue"}解析這個(gè)字符串的結(jié)果是{"a": "A","b": "B","c": "C"}完整的 JSON 要復(fù)雜得多,我在這里包含的是一個(gè)包含多個(gè)此類類型的數(shù)組中的單個(gè)實(shí)例。數(shù)組中的所有實(shí)例都缺少相同的屬性。因此它不會(huì)停止解析完整的 json,并且仍然解析數(shù)組中的其他實(shí)例。
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

事實(shí)證明,我的問題的真正答案是解析并沒有排除某些屬性。相反,我被 Chrome 中的控制臺(tái)語句誤導(dǎo)了。我的經(jīng)歷是,控制臺(tái)日志僅評(píng)估在日志中展開時(shí)記錄的對(duì)象的狀態(tài)。我假設(shè)它代表寫入日志條目時(shí)的狀態(tài)。發(fā)生的情況是,稍后在代碼中修改引用,并且當(dāng)我在其他代碼對(duì)對(duì)象進(jìn)行更改后讀取它時(shí),控制臺(tái)反映了更改后的對(duì)象引用。感謝所有閱讀本文并提供任何建議的人,但我擔(dān)心我自己對(duì)其工作原理的誤解才是問題的真正原因。



查看完整回答
反對(duì) 回復(fù) 2023-09-28
?
翻過高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

原因是 JSON.parse 對(duì)于特殊字符無法正常工作。解決方案如下:


function escapeUnicode(str) {

    return str.replace(/[^\0-~]/g, function(ch) {

        return "\\u" + ("0000" + ch.charCodeAt().toString(16)).slice(-4);

    });

}


查看完整回答
反對(duì) 回復(fù) 2023-09-28
?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

我不確定為什么您只得到部分返回,但您的 JSON 字符串看起來無效。您需要在、和屬性:后添加冒號(hào)。以下內(nèi)容應(yīng)該正確解析。"a""b""c"


{

"a": "A",

"b": "B",

"c": "C", 

"id": "726abb0e-6cc6-4496-94a2-906439c06a30",

"1": 12345,

"2": "stringVal",

"3": "stringValue"

}


查看完整回答
反對(duì) 回復(fù) 2023-09-28
  • 3 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)