[英]Convert to JS Object
如何將其轉換為JS對象:
{"info":["Image has been added"],"success":["No success Sorry!"]}
JSON.parse引發錯誤,並說“不是有效的JSON。 JS的新手,無法解決該問題。
我正在使用來自express的connect-flash將flash消息傳輸到客戶端。 為此,我使用以下代碼:
if Object.keys(locals.flashes).length !== 0
script.
flashArr="#{JSON.stringify(locals.flashes)}"
在客戶端,對象的表示形式不是有效的JSON。 我該如何處理。
如何將其轉換為JS對象?
如果我這樣嘗試,它將返回有效的JS對象。 我只是在全球范圍內替換了"
使用String.prototyp.replace和""
,然后使用JSON.parse()這樣解析
invalid_data = '{"info":["Image has been added"],"success":["No success Sorry!"]}'; valid_data = invalid_data.replace(/"/g, '"'); console.log(JSON.parse(valid_data));
如建議的那樣,您需要將HTML實體解析為字符,即將"
到"
,最簡單的方法是使用正則表達式:
var str = '{"info":["Image has been added"],"success":["No success Sorry!"]}'; var obj = JSON.parse(str.replace(/"/g,'"')); console.log(obj);
當然,如果代碼中包含其他HTML實體,則最好使用內置HTML解析器:
var str = '{"info":["Image has been added"],"success":["No success Sorry!"]}'; var el = document.createElement('div'); el.innerHTML = str; var obj = JSON.parse(el.textContent); console.log(obj);
但是對於單個實體, 替換可能更快,更有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.