Hướng dẫn how to escape double quotes in json python - cách thoát dấu ngoặc kép trong json python

Làm thế nào tôi có thể thay thế các trích dẫn kép bằng dấu gạch chéo ngược và trích dẫn đôi trong Python?

>>> s = 'my string with "double quotes" blablabla'
>>> s.replace['"', '\\"']
'my string with \\"double quotes\\" blablabla'
>>> s.replace['"', '\\\"']
'my string with \\"double quotes\\" blablabla'

Tôi muốn có được những điều sau:

'my string with \"double quotes\" blablabla'

PHWD

Huy hiệu vàng 20K549 Huy hiệu bạc78 Huy hiệu đồng5 gold badges49 silver badges78 bronze badges

Khi được hỏi ngày 13 tháng 5 năm 2011 lúc 19:48May 13, 2011 at 19:48

Bạn nên sử dụng mô -đun

'my string with \"double quotes\" blablabla'
2.
'my string with \"double quotes\" blablabla'
3. Nó cũng có thể tuần tự hóa các loại dữ liệu Python khác.

import json

>>> s = 'my string with "double quotes" blablabla'

>>> json.dumps[s]
> a = {'x':1}
>>> b = json.dumps[json.dumps[a]]
>>> b
'"{\\"x\\": 1}"'
>>> json.loads[json.loads[b]]
{u'x': 1}

Đã trả lời ngày 9 tháng 9 năm 2013 lúc 3:43Sep 9, 2013 at 3:43

Medhat Gayedhat GayedMedhat Gayed

2.35718 Huy hiệu bạc11 Huy hiệu đồng18 silver badges11 bronze badges

1

>>> s = 'my string with \\"double quotes\\" blablabla'
>>> s
'my string with \\"double quotes\\" blablabla'
>>> print s
my string with \"double quotes\" blablabla
>>> 

Khi bạn chỉ yêu cầu 's', nó thoát khỏi \ cho bạn, khi bạn in nó, bạn sẽ thấy chuỗi một trạng thái 'thô' hơn. Vậy bây giờ...

>>> s = """my string with "double quotes" blablabla"""
'my string with "double quotes" blablabla'
>>> print s.replace['"', '\\"']
my string with \"double quotes\" blablabla
>>> 

Đã trả lời ngày 13 tháng 5 năm 2011 lúc 19:54May 13, 2011 at 19:54

AndrewandrewAndrew

2.50416 huy hiệu bạc9 Huy hiệu đồng16 silver badges9 bronze badges

6

Tôi biết câu hỏi này đã cũ, nhưng hy vọng nó sẽ giúp ai đó. Tôi đã tìm thấy một plugin tuyệt vời cho những người đang sử dụng pycharm IDE: điều khiển chuỗi có thể dễ dàng thoát khỏi trích dẫn kép [và nhiều hơn nữa ...], plugin này rất tốt cho các trường hợp bạn biết chuỗi sẽ là gì. Đối với các trường hợp khác, sử dụng

'my string with \"double quotes\" blablabla'
3 sẽ là giải pháp được đề xuất

str_to_escape = 'my string with "double quotes" blablabla'

after_escape = 'my string with \"double quotes\" blablabla'

Đã trả lời ngày 20 tháng 2 năm 2021 lúc 17:11Feb 20, 2021 at 17:11

JSON [Tôi đang làm việc với]: Jsonlinter xác nhận đây là một JSON hợp lệ.

{
    "errors": [
        {
            "params": {
                "password": "size must be between 4 and 30",
                "loginId": "must match \"^[a-zA-Z0-9_]*$\""
            }
        }
    ]
}

Cố gắng 1 [sử dụng JsonParser::

String str = '{ "errors": [ { "params": { "password": "size must be between 4 and 30", "loginId": "must match \"^[a-zA-Z0-9_]*$\"" } } ] }';
JSONParser parser = JSON.createParser[str];
while[parser.nextToken[] != null]{
    parser.nextToken[];
}

Thất bại:

▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy sẽ tách các mục đối tượng tại vị trí đầu vào [1,99] ▸ Lỗi: class.system.jsonparser.nexttoken: dòng 94, cột 1 ▸ Ẩn danh: Dòng 3, Cột 1 ▸ Ẩn danh
AnonymousBlock: line 3, column 1

Cố gắng 2 [tùy chọn JSON2APEX]::

public class JSON2Apex {

    public class Errors {
            public Params params;
    }

    public List errors;

    public class Params {
            public String password;
            public String loginId;
    }

}

String str = '{ "errors": [ { "params": { "password": "size must be between 4 and 30", "loginId": "must match \"^[a-zA-Z0-9_]*$\"" } } ] }';
JSON2Apex obj = [JSON2Apex]JSON.deserialize[str, JSON2Apex.class];

Fails:

▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy để tách các mục đối tượng tại [dòng: 1, cột: 99] ▸ error: class.system.json.deserialize: dòng 15 , Cột 1 ▸ Anonymousblock: Dòng 2, Cột 1 ▸ Ẩn danh

Nỗ lực 3 [Deserializeunty]::

'my string with \"double quotes\" blablabla'
0

Fails:

▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy để tách các mục đối tượng tại [dòng: 1, cột: 99] ▸ error: class.system.json.deserializedyped: dòng 11 , Cột 1 ▸ Anonymousblock: Dòng 2, Cột 1 ▸ Ẩn danh

Cố gắng 4 [thay thế vấn đề gây ra báo giá kép trong JSON]::

'my string with \"double quotes\" blablabla'
1

Vẫn thất bại:

▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy để tách các mục đối tượng tại [dòng: 1, cột: 99] ▸ error: class.system.json.deserializedyped: dòng 11 , Cột 1 ▸ Anonymousblock: Dòng 2, Cột 1 ▸ Ẩn danh

Tôi đã xem xét các câu hỏi tương tự dưới đây nhưng vẫn không thấy bất kỳ giải pháp nào:

  1. Json và thoát khỏi trích dẫn kép
  2. Thay thế dấu ngoặc kép bằng trích dẫn đơn trong chuỗi JSON

Làm thế nào để bạn xóa trích dẫn kép từ chuỗi JSON trong Python?

Sử dụng hàm lStrip [] để xóa trích dẫn kép khỏi chuỗi trong Python.Hàm Lstrip [] có thể xóa các ký tự từ đầu chuỗi.Với chức năng này, chúng ta có thể xóa các trích dẫn kép từ đầu chuỗi. to remove double quotes from string in Python. The lstrip[] function can remove characters from the start of the string. With this function, we can remove the double quotes from the start of the string.

Làm thế nào để bạn thoát khỏi một trích dẫn kép trong JSON?

Nếu bạn muốn thoát khỏi báo giá kép trong JSON, hãy sử dụng \ để thoát khỏi nó.use \\ to escape it.

Làm thế nào để bạn bỏ qua các trích dẫn kép trong Python?

Bởi vì chúng ta hiện đang sử dụng ký tự thoát, chúng ta có thể có một dấu nháy đơn trong một chuỗi sử dụng các trích dẫn đơn.... Cách định dạng văn bản trong Python 3 ..

JSON Dump Dump Escape Trích dẫn?

Hơn nữa, tất cả các trích dẫn kép của định dạng JSON thực tế được thoát ra bằng một dấu gạch chéo ngược.all double quotes of the actual JSON formatting are escaped with a backslash.

Bài Viết Liên Quan

Chủ Đề