簡體   English   中英

可以對雙引號JSON使用轉義符

[英]Can use escape character for Double Quote JSON

我有一個沒有轉義字符的json,我的代碼無法解析,因為沒有轉義字符。 我可以通過在雙引號前添加一個\\使其工作。 但是,由於某些限制,我正在尋找一種解決方法,我想知道-

一種。 還有什么其他方法可以使我的json工作時不使用轉義符,並且具有雙引號的內容按原樣顯示在我的應用程序中,或者

是否必須在所有雙引號之前都使用轉義字符,並且沒有解決方法?

"abc": {
    "x1": {
        "text1": "key1",
        "text2": "Given "Example text" is wrong"
    }
}

謝謝 !!

您的示例是無效的JSON,但我想您知道這一點。 :-)

我是否必須在所有雙引號之前都使用轉義字符

是的,只有這樣才能有一個"內部JSON字符串是使用某種類型的逃逸。不像的JavaScript,JSON沒有' -delimited字符串或反引號分隔的模板,成為字符串(在ES2015新)。有您可以使用幾個不同的轉義序列(例如\\"" ),但是它們仍然是轉義序列。 畢竟, "是JSON解析器知道它已找到字符串末尾的方式。

HTML特定情況下 ,您還可以使用" (命名字符實體)(如果您將字符串解釋為HTML)。 但這並沒有改變您實際上需要轉義字符串的事實(因為換行符和其他幾個字符也需要轉義,而不僅僅是" )。

我的經驗是,生成JSON的最佳方法是在內存中生成一個結構,然后使用環境的便利性將該結構轉換為有效JSON。 在JavaScript中,這是JSON.stringify 在PHP中,它是json_encode 等等。您可以找到的幾乎任何語言或環境都有一個JSON庫(是否內置)。

您應該添加轉義char()才能獲得有效的JSON。 根據規范 ,這是JSON中使用的特殊字符的列表:

  • \\ b退格鍵(ASCII碼08)
  • \\ f換頁(ASCII代碼0C)
  • \\ n新行
  • \\ r回車
  • \\ t標簽
  • \\“雙引號
  • \\反斜杠字符

暫無
暫無

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

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