簡體   English   中英

如何在JavaScript中處理JSON字符串錯誤(錯誤字符“”)

[英]How to handle JSON string errors (error character ") in javascript

管理員已將內容直接填充到數據庫中,並將其格式化為json字符串。 但是,當從數據庫中檢索它並將其解析為json時,它失敗了。 因為當直接填充數據時,而不是內容需要寫這個( \\" ),所以他們只是寫( " )json字符串屏蔽出現了故障,無法解析。 如何解決這個問題呢。 例如:

"aaaa"dddd"aaaa" => "aaaa\"dddd\"aaaa"

我假設當您從數據庫中檢索字符串時,會得到類似'"aaaa"dddd"aaaa"'

如果是這樣,那么您可以通過刪除第一個和最后一個雙引號,然后使用JSON.stringify將字符串轉換為有效的JSON字符串(包括轉義內部的雙引號),將其轉換為有效的JSON字符串。

例如:

 const s = '"aaaa"dddd"aaaa"'; let escaped = JSON.stringify(s.slice(1, -1)); console.log(escaped); // "aaaa\\"dddd\\"aaaa" let parsed = JSON.parse(escaped); console.log(parsed); // aaaa"dddd"aaaa 

您可以使用帶有RegExpg標志的replace

 let str = `"aaaa"dddd"aaaa"`; let result = str.replace(/"/g,`\\\\"`).slice(1,-2) + '"'; console.log(result) 

OP詢問我的數據庫返回結果字符串"aaaa"dddd"aaaa" ,如何分配此類"aaaa"dddd"aaaa"
您可以將從數據庫返回的值插入到模板字符串中

let str = `${database.value}`;

但是,不確定服務器端使用什么數據庫或哪種語言,而是嘗試轉義內部引號。 嘗試僅用單引號替換第一個和最后一個雙引號。 不確定此處是否提供完整的上下文以了解這是否是問題所在。 無論如何,要考慮的事情

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM