Hướng dẫn python json.dumps escape single quotes - python json.dumps thoát khỏi dấu ngoặc kép

Tôi đang sử dụng mô -đun JSON để chuyển đổi một loạt từ điển thành JSON nhưng tôi không chắc tại sao khi bán cho JSON các chuỗi có chứa một trích dẫn duy nhất (ví dụ: xe của cha tôi) được thoát khỏi (xe của cha tôi). Khi tôi kiểm tra một trình xác nhận trực tuyến, nó nói rằng định dạng là sai. Tại sao đổ rác thoát ra khi nó không đúng?

Tôi đã cố gắng thay thế các chuỗi bằng cách sử dụng thay thế nhưng nó không hành động của chúng. Đó sẽ là một giải pháp hợp lệ? Tại sao không hoạt động sau đó Snipped

formatted_json = json.dumps(OrderedDict([("nodes", json_graph['nodes']), ("links", json_graph['links'])])).replace('\'',"'")

Thanks!

Đã hỏi ngày 4 tháng 3 năm 2017 lúc 13:34Mar 4, 2017 at 13:34

Hướng dẫn python json.dumps escape single quotes - python json.dumps thoát khỏi dấu ngoặc kép

2

Bạn có thể thấy đại diện giá trị từ trình thông dịch Python. Nếu bạn in giá trị hoặc lưu trữ nó trong một tệp, bạn sẽ thấy hành vi chính xác.

>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"

Đã trả lời ngày 4 tháng 3 năm 2017 lúc 13:39Mar 4, 2017 at 13:39

Hướng dẫn python json.dumps escape single quotes - python json.dumps thoát khỏi dấu ngoặc kép

JuniorCompressorJuniorCompressorJuniorCompressor

Huy hiệu vàng 19.3k44 gold badges28 silver badges57 bronze badges

1

Gần đây tôi đã có một chút bởi một trường hợp cạnh (điều đó đáng ngạc nhiên đã không xảy ra sớm hơn)

Đây là đối tượng Python của tôi:

example = {
    "hello" : """This is an example object I am using some 'single quotes' and "double quotes"."""
}

Đầu ra của SimpleJson là chuỗi JSON được hình thành hoàn hảo này:

encoded = json.dumps(example)
print encoded
{"hello": "This is an example object I am using some 'single quotes' and \"double quotes\"."}

Nhưng có một vấn đề với đầu ra dumps này-như một chuỗi RAW, nó không tương thích với JavaScript-các trích dẫn đơn phá vỡ nó:

var example = '{"hello": "This is an example object I am using some 'single quotes' and \"double quotes\"."}';

Vì vậy, để làm việc với điều này trong JavaScript, chúng ta cần phải mã hóa thêm. Tuy nhiên, làm như vậy dẫn đến một chuỗi được tìm thấy hai lần:

encoded = json.dumps(example).encode('string-escape')
print encoded
{"hello": "This is an example object I am using some \'single quotes\' and \\"double quotes\\"."}

Sẽ rất thuận tiện nếu SimpleJson ủng hộ một đối số để thoát khỏi các trích dẫn đơn:

encoded = json.dumps(example, escape_single_quotes=True)
print encoded
{"hello": "This is an example object I am using some \'single quotes\' and \"double quotes\"."}

"" "

Đơn giản là nhiều "dòng trực tuyến2020-12-07 00:32 by imeuropa, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Phương thức trên thêm một không gian ở trên và dưới cùng của chuỗi có thể được xóa bằng cách thêm dấu gạch chéo ngược
>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
0 ở đầu và cuối chuỗi.
Sử dụng
example = {
    "hello" : """This is an example object I am using some 'single quotes' and "double quotes"."""
}
3 để bao gồm
>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
0 và trích dẫn trong chuỗi
Hiện nay. Điều gì sẽ xảy ra nếu chúng ta muốn bao gồm
>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
0 hoặc trích dẫn trong chuỗi cuối cùng. Đối với những trường hợp như vậy, chúng ta có thể sử dụng từ khóa
example = {
    "hello" : """This is an example object I am using some 'single quotes' and "double quotes"."""
}
3 trước khi chỉ định chuỗi. Từ khóa
example = {
    "hello" : """This is an example object I am using some 'single quotes' and "double quotes"."""
}
3 cho biết trình biên dịch rằng nó đang xử lý một chuỗi thô. Một chuỗi thô bỏ qua tất cả các chuỗi định dạng và thoát.
s = r'Sample \ 'sample \' sample '
mẫu \ mẫu \ mẫu
Như bạn có thể thấy ở trên, chúng tôi đã có thể bao gồm các dấu gạch chéo ngược và mọi thứ trong chuỗi cuối cùng.Đó là tất cả về cách thoát khỏi trích dẫn trong Python.*
Hướng dẫn python json.dumps escape single quotes - python json.dumps thoát khỏi dấu ngoặc kép
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.
Làm thế nào để bạn thoát khỏi một trích dẫn duy nhất trong JSON?
Trong JSON, bạn không cần phải thoát các trích dẫn đơn bên trong một giá trị được đặt với các trích dẫn kép. Trong trường hợp bạn có báo giá kép như là một phần của giá trị (được đặt kèm theo trích dẫn kép) thì bạn sẽ cần phải thoát chúng.Làm thế nào để bạn thoát khỏi một trích dẫn duy nhất trong Python?'Bạn có thể đặt một ký tự dấu gạch chéo ngược theo sau là một trích dẫn (\ "hoặc \'). Đây được gọi là chuỗi thoát và Python sẽ loại bỏ dấu gạch chéo ngược, và chỉ đặt trích dẫn trong chuỗi. Đây là một ví dụ.JSON có làm việc với các trích dẫn đơn không?
Các chuỗi trong JSON được chỉ định bằng cách sử dụng báo giá kép, tức là, ". Nếu các chuỗi được đặt bằng cách sử dụng các trích dẫn đơn, thì JSON là một JSON không hợp lệ. Số phát hành42583Được tạo vào ngày 2020-12-07 00:32 bởi Imeuropa, đã thay đổi lần cuối năm 2022-04-11 14:59 bởi quản trị viên. Vấn đề giờ đã kết thúc.Tin nhắn (2)
MSG382615 - (Xem)Tác giả: Kjartan Hrafnkelsson (Imeuropa)Được tạo vào ngày 2020-12-07 00:32 bởi Imeuropa, đã thay đổi lần cuối năm 2022-04-11 14:59 bởi quản trị viên. Vấn đề giờ đã kết thúc.Tin nhắn (2)
stage: resolved
MSG382615 - (Xem)Tác giả: Kjartan Hrafnkelsson (Imeuropa)Được tạo vào ngày 2020-12-07 00:32 bởi Imeuropa, đã thay đổi lần cuối năm 2022-04-11 14:59 bởi quản trị viên. Vấn đề giờ đã kết thúc.Tin nhắn (2)
MSG382615 - (Xem)Tác giả: Kjartan Hrafnkelsson (Imeuropa)Được tạo vào ngày 2020-12-07 00:32 bởi Imeuropa, đã thay đổi lần cuối năm 2022-04-11 14:59 bởi quản trị viên. Vấn đề giờ đã kết thúc.Tin nhắn (2)
messages: + msg382616
MSG382615 - (Xem)Tác giả: Kjartan Hrafnkelsson (Imeuropa)Ngày: 2020-12-07 00:32

Sử dụng

>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
7 để thoát khỏi trích dẫn trong PythonOutline
You can use
>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
0 to escape quotes in Python.
If you want to delay python program by 500 ms, then you need to pass 0.5 as parameter to sleep method.

Ngay cả hàm

>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
8 từ thư viện JSON, lấy một chuỗi và trả về một chuỗi mới bằng cách thêm hai dấu gạch chéo ngược ở bất cứ nơi nào nó gặp phải các trích dẫn kép. Vì hai dấu gạch chéo ngược chỉ được thêm một lần được coi là một chuỗi thoát và cái còn lại được in.='Don\'t go'

Mẫu mẫu \ mẫu \ mẫu(s)//prints Don't go

Chúng ta có thể sử dụng các kết hợp các ký tự khác nhau với

>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
0 để chỉ định các ý nghĩa thay thế. Ví dụ:
example = {
    "hello" : """This is an example object I am using some 'single quotes' and "double quotes"."""
}
0 truyền tải một dòng mới,
example = {
    "hello" : """This is an example object I am using some 'single quotes' and "double quotes"."""
}
1 tạo ra một tab ngang, v.v.

Trong Python, ký tự Backslash

>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
0 được sử dụng để truyền tải các chuỗi thoát. Nhân vật mà chúng tôi muốn trốn thoát được thêm vào ngay sau sự chéo ngược này.

Trong bài viết này, chúng tôi sẽ thảo luận về cách thoát khỏi trích dẫn trong Python.

Mục lục

  • Sử dụng \ để thoát khỏi trích dẫn trong Python
  • Sử dụng \ với thay thế () để thoát khỏi trích dẫn trong Python
  • Sử dụng json.dumps để thoát khỏi trích dẫn trong Python
  • Sử dụng ba trích dẫn đơn hoặc đôi để thoát khỏi báo giá trong Python
  • Sử dụng R để bao gồm \ và trích dẫn trong chuỗi

Sử dụng >>> import json >>> json.dumps("a'b") '"a\'b"' >>> print json.dumps("a'b") "a'b" 0 để thoát khỏi trích dẫn trong Python

Bây giờ hãy tưởng tượng rằng bạn có một chuỗi mà bạn muốn in. Chuỗi này chứa một trích dẫn duy nhất dưới dạng dấu nháy đơn. Trình biên dịch sẽ giải thích điều này một cách khác nhau và nêu ra một lỗi và hiển thị cú pháp là không hợp lệ.

Ví dụ,

Nhập JSONjson

s='Don'tusethisway'='Don'tusethisway'

print(s)    (s)    

Bây giờ vì Python sử dụng cả trích dẫn đơn và dấu ngoặc kép để lưu trữ giá trị chuỗi, chúng ta có thể sử dụng trích dẫn kép và vấn đề trên sẽ biến mất và nếu chúng ta giải quyết cùng một vấn đề cho trích dẫn kép thì chúng ta có thể gửi chúng trong các trích dẫn đơn. Tuy nhiên, đây không phải là một giải pháp lý tưởng cho vấn đề.

Đối với các tình huống như vậy, chúng ta có thể sử dụng trình tự thoát. Chúng ta có thể sử dụng cả trích dẫn đơn hoặc dấu ngoặc kép sau một ký tự phản ứng dữ dội để đưa chúng vào một chuỗi.

Xem mã sau.

s = 'don \' t sử dụng theo cách này '='Don\'t use this way'

S1 = "Mẫu \" Mẫu \ "Mẫu"="Sample \"Sample\" Sample"

print(s,s1)    (s,s1)    

Output:

Don lồng sử dụng theo cách này mẫu mẫu ”mẫu”

Sử dụng >>> import json >>> json.dumps("a'b") '"a\'b"' >>> print json.dumps("a'b") "a'b" 0 với >>> import json >>> json.dumps("a'b") '"a\'b"' >>> print json.dumps("a'b") "a'b" 4 để thoát khỏi trích dẫn trong Python

Chúng ta cũng có thể sử dụng hàm

>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
4 để chèn các trích dẫn thoát vào một chuỗi. Chúng tôi chỉ cần thay thế các trích dẫn bằng
>>> import json
>>> json.dumps("a'b")
'"a\'b"'
>>> print json.dumps("a'b")
"a'b"
6.

Ví dụ,

Nhập JSON='sample "sample" sample'

Bây giờ vì Python sử dụng cả trích dẫn đơn và dấu ngoặc kép để lưu trữ giá trị chuỗi, chúng ta có thể sử dụng trích dẫn kép và vấn đề trên sẽ biến mất và nếu chúng ta giải quyết cùng một vấn đề cho trích dẫn kép thì chúng ta có thể gửi chúng trong các trích dẫn đơn. Tuy nhiên, đây không phải là một giải pháp lý tưởng cho vấn đề.=s.replace('"','\"')

print(s)    (s)    

Output:

Đối với các tình huống như vậy, chúng ta có thể sử dụng trình tự thoát. Chúng ta có thể sử dụng cả trích dẫn đơn hoặc dấu ngoặc kép sau một ký tự phản ứng dữ dội để đưa chúng vào một chuỗi.

Xem mã sau.

s = 'don \' t sử dụng theo cách này '

Ví dụ,

Nhập JSONjson

Nhập JSON='sample "sample" sample'

print(json.dumps(s))    (json.dumps(s))    

Output:

Bây giờ vì Python sử dụng cả trích dẫn đơn và dấu ngoặc kép để lưu trữ giá trị chuỗi, chúng ta có thể sử dụng trích dẫn kép và vấn đề trên sẽ biến mất và nếu chúng ta giải quyết cùng một vấn đề cho trích dẫn kép thì chúng ta có thể gửi chúng trong các trích dẫn đơn. Tuy nhiên, đây không phải là một giải pháp lý tưởng cho vấn đề.

Đối với các tình huống như vậy, chúng ta có thể sử dụng trình tự thoát. Chúng ta có thể sử dụng cả trích dẫn đơn hoặc dấu ngoặc kép sau một ký tự phản ứng dữ dội để đưa chúng vào một chuỗi.

Sử dụng ba trích dẫn đơn hoặc đôi để thoát khỏi báo giá trong Python

Sử dụng R để bao gồm \ và trích dẫn trong chuỗi

Ví dụ,

s="""="""

Nhập JSON

"Multi"Multi"

'Line'

Bây giờ vì Python sử dụng cả trích dẫn đơn và dấu ngoặc kép để lưu trữ giá trị chuỗi, chúng ta có thể sử dụng trích dẫn kép và vấn đề trên sẽ biến mất và nếu chúng ta giải quyết cùng một vấn đề cho trích dẫn kép thì chúng ta có thể gửi chúng trong các trích dẫn đơn. Tuy nhiên, đây không phải là một giải pháp lý tưởng cho vấn đề.

Đối với các tình huống như vậy, chúng ta có thể sử dụng trình tự thoát. Chúng ta có thể sử dụng cả trích dẫn đơn hoặc dấu ngoặc kép sau một ký tự phản ứng dữ dội để đưa chúng vào một chuỗi.""

print(s)    (s)    

Output:

Xem mã sau.
“Multi”
‘Line’
String

s = 'don \' t sử dụng theo cách này '

S1 = "Mẫu \" Mẫu \ "Mẫu"

Don lồng sử dụng theo cách này mẫu mẫu ”mẫu”

Ví dụ,

Nhập JSON=r'sample \'sample\' sample'

print(s)    (s)    

Output:

Bây giờ vì Python sử dụng cả trích dẫn đơn và dấu ngoặc kép để lưu trữ giá trị chuỗi, chúng ta có thể sử dụng trích dẫn kép và vấn đề trên sẽ biến mất và nếu chúng ta giải quyết cùng một vấn đề cho trích dẫn kép thì chúng ta có thể gửi chúng trong các trích dẫn đơn. Tuy nhiên, đây không phải là một giải pháp lý tưởng cho vấn đề.

Đối với các tình huống như vậy, chúng ta có thể sử dụng trình tự thoát. Chúng ta có thể sử dụng cả trích dẫn đơn hoặc dấu ngoặc kép sau một ký tự phản ứng dữ dội để đưa chúng vào một chuỗi.

Xem mã sau.

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.

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

Trong JSON, bạn không cần phải thoát các trích dẫn đơn bên trong một giá trị được đặt với các trích dẫn kép.Trong trường hợp bạn có báo giá kép như là một phần của giá trị (được đặt kèm theo trích dẫn kép) thì bạn sẽ cần phải thoát chúng.you don't need to escape single quotes inside a value that is enclosed with double-quotes. In the case that you have double quotes as part of a value (that is enclosed with double quotes) then you would need to escape them.

Làm thế nào để bạn thoát khỏi một trích dẫn duy nhất trong Python?

'Bạn có thể đặt một ký tự dấu gạch chéo ngược theo sau là một trích dẫn (\ "hoặc \'). Đây được gọi là chuỗi thoát và Python sẽ loại bỏ dấu gạch chéo ngược, và chỉ đặt trích dẫn trong chuỗi. Đây là một ví dụ.put a backslash character followed by a quote ( \" or \' ). This is called an escape sequence and Python will remove the backslash, and put just the quote in the string. Here is an example.

JSON có làm việc với các trích dẫn đơn không?

Các chuỗi trong JSON được chỉ định bằng cách sử dụng báo giá kép, tức là, ". Nếu các chuỗi được đặt bằng cách sử dụng các trích dẫn đơn, thì JSON là một JSON không hợp lệ.If the strings are enclosed using single quotes, then the JSON is an invalid JSON .