當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Escaped String轉JSON用法及代碼示例


JSON(JavaScript 對象表示法)由於其簡單性和可讀性而成為一種廣泛使用的數據交換格式。在某些情況下,您可能需要將 JSON 對象轉換為 Python 中的轉義字符串。在本文中,我們將探討一些簡單且常用的方法,用於在 Python 中將轉義字符串轉換為 JSON。

Python 中的轉義字符串是什麽?

逃跑涉及用轉義序列表示特殊字符,確保生成的字符串可以安全地包含在其他數據格式中或通過各種通道傳輸。類似地,其他轉義序列可用於特殊字符。一些常見的轉義序列包括:

  • \n: Newline
  • \t: Tab
  • \\: Backslash
  • \': Single quote
  • \": Double quote

在 Python 中將轉義字符串轉換為 JSON

下麵是將轉義字符串轉換為 JSON 的示例Python

示例 1:使用json.loads() Method

在此示例中,以下代碼將包含特殊字符的轉義字符串轉換為JSON格式Python 中的字符串。它使用`ast.literal_eval()`解析轉義字符串,創建未轉義字典。最後,`json.dumps()` 將字典轉換為有效的 JSON 字符串,準備啟用。

Python3


import json
import ast
escaped_string = '{"name": "John\\nDoe", "age": 25}'
# Parse the escaped string using ast.literal_eval()
unescaped_dict = ast.literal_eval(escaped_string)
# Convert the dictionary to JSON using json.dumps()
json_data = json.dumps(unescaped_dict)
print(json_data)
輸出
{"name": "John\nDoe", "age": 25}


示例2:使用ast.literal_eval()函數

在此示例中,下麵的代碼采用了自定義解碼函數,`custom_decoder`,與`json.loads()` 將帶有特殊字符的轉義字符串轉換為有效的字符串JSON格式。它迭代字典的字符串值,替換轉義序列,並打印生成的未轉義字典(`json_data`)。

Python3


import json
def custom_decoder(obj):
    # Replace escape sequences in string values
    for key, value in obj.items():
        if isinstance(value, str):
            obj[key] = value.replace("\\n", "\n").replace("\\t", "\t")
    return obj
escaped_string = '{"name": "John\\nDoe", "age": 25}'
# Use json.loads() with the custom object_hook
json_data = json.loads(escaped_string, object_hook=custom_decoder)
print(json_data)
輸出
{'name': 'John\nDoe', 'age': 25}


結論

總之,在 Python 中將轉義字符串轉換為 JSON 涉及采用各種方法,例如利用帶有自定義對象鉤子或專用解碼函數的“json.loads()”。這些方法有效地處理轉義序列,確保從轉義字符串到有效 JSON 表示的無縫轉換。無論是使用“ast.literal_eval()”等標準庫函數還是自定義解碼邏輯,Python 都提供了用於處理 JSON 數據的多函數工具。



相關用法


注:本文由純淨天空篩選整理自sameerkhan6359大神的英文原創作品 Convert Escaped String to JSON in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。