JSON thoải mái của Python

Thông tin được tìm nạp bằng yêu cầu JSONP, yêu cầu này chứa văn bản quảng cáo và liên kết đến hình ảnh quảng cáo. Tệp JSON và hình ảnh được tìm nạp từ buysellads. com hoặc buysellads. bọc lưới

Nếu bạn có bất kỳ câu hỏi hoặc thắc mắc nào, xin vui lòng gửi email

RJSON [Relaxed Javascript Object Notation] cho phép soạn thảo và phân tích cú pháp JSON ngắn gọn và súc tích

Theo tinh thần của JSON gốc, chỉ có một số quy tắc đơn giản

  • Tất cả JSON tiêu chuẩn đều hợp lệ. xem json. org cho thông số kỹ thuật
  • Dấu phẩy là tùy chọn giữa các cặp đối tượng và các mục mảng
  • Dấu phẩy ở cuối được cho phép
  • Dấu ngoặc kép là tùy chọn xung quanh các khóa đơn giản và giá trị đơn giản
  • Các cặp trích dẫn đơn, cặp trích dẫn kép và cặp dấu nháy ngược có thể được sử dụng cho các chuỗi
  • Nhận xét một dòng và nhiều dòng được cho phép
  • Chuỗi nhiều dòng được cho phép

Hương vị RJSON của chúng tôi vượt xa các biến thể khác, bao gồm cả JSON5. Bạn có thể thử bản demo trực tuyến tại đây

Mục lục

Điểm mấu chốt

  • Bỏ dấu phẩy
  • Khóa đối tượng phải nằm trong dấu ngoặc kép nếu
    • Nó chứa một ký tự dành riêng không thoát
    • Nó chứa // hoặc /*
  • Giá trị chuỗi phải nằm trong dấu ngoặc kép nếu
    • Nó chứa một ký tự dành riêng không thoát
    • Nó chứa // hoặc /*
    • Chuỗi true, false hoặc null là cần thiết
    • Biểu diễn chuỗi của một số là cần thiết

Thư giãn, nó đơn giản

dấu phẩy

Dấu phẩy là tùy chọn giữa các cặp khóa-giá trị đối tượng và các mục mảng

[
    "one" 
    "two"
    "three"
]
____1
[
    {
        "one" : "1"
        "two" : "2"
    }
    {
        "three" : "3"
        "four" : "4"
    }
    "five"
    "six"
]

Nếu bạn là người yêu thích dấu phẩy, dấu phẩy ở cuối được cho phép

[ 1, 2, 3, ]
{a:1, b:2, c:3,}

báo giá

Báo giá đơn, đôi hoặc backtick

Cả hai cặp trích dẫn đơn và trích dẫn kép đều hợp lệ trong RJSON. Ký tự trích dẫn ngược lại không cần phải thoát

[
    "Hello world"
    'Hello world'
    `Hello world`
    "He said 'What'?"
    'He said "What"?'
    'A "double" and \'single\' quote'
    "A \"double\" and 'single' quote"
    `This has unescaped " and ' in the string`
]

báo giá tùy chọn

Không cần trích dẫn xung quanh các phím đơn giản

Nếu một khóa không chứa ký tự dành riêng không thoát, thì đó là một khóa đơn giản và không yêu cầu dấu ngoặc kép. Các từ dành riêng [số và giá trị true, false và null luôn được hiểu là chuỗi khi được sử dụng làm khóa đối tượng

{
    1 : one
    2 : two
    true : "the key is the string true"
    escape\:me : "the key has an escaped reserved character [not recommended]"
    a\ space : "the key has an escaped space [not recommended]"
}

Không cần trích dẫn xung quanh các giá trị đơn giản

Nếu một giá trị không chứa ký tự dành riêng chưa thoát và không phải là từ dành riêng, thì đó là giá trị đơn giản và không yêu cầu dấu ngoặc kép

[ milk, eggs, fruit, 'candy bars' ]

hoặc thậm chí tốt hơn, bỏ dấu phẩy

________số 8

sử dụng lối thoát [không được khuyến nghị]

[ milk eggs fruit candy\ bars ]

chuỗi nhiều dòng

Một chuỗi có thể tiếp tục sang một dòng mới nếu dòng kết thúc bằng '\'

{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
0
{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
1
{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
2

Cân nhắc đặc biệt

Ký tự dành riêng

Các khóa và giá trị chứa các ký tự này phải là

  • trích dẫn bên trong
  • đã thoát với tiền tố '\'.
    {
        "one" : "1"
        "two" : "2"
        "three" : "3"
    }
    3
{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
4

Chúng tôi khuyên bạn nên sử dụng dấu ngoặc kép thay vì ký tự thoát, đặc biệt đối với khoảng trắng

{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
5

Từ dành riêng

Các chuỗi từ này phải được trích dẫn khi được sử dụng làm giá trị chuỗi

{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
6

Nếu một giá trị đơn giản có thể được phân tích thành một số, nó sẽ trở thành một số JSON

{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
7

sẽ trở thành

{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
8

Một khóa đơn giản sẽ luôn được phân tích cú pháp dưới dạng một chuỗi, ngay cả khi đó là một số hoặc từ dành riêng

{
    "one" : "1"
    "two" : "2"
    "three" : "3"
}
9

sẽ trở thành

[
    {
        "one" : "1"
        "two" : "2"
    }
    {
        "three" : "3"
        "four" : "4"
    }
    "five"
    "six"
]
0

nhân vật trốn thoát

Các ký tự dành riêng có thể được thoát bằng '\' để tránh sử dụng dấu ngoặc kép. Tuy nhiên, chúng tôi không khuyến nghị điều này như một quy tắc chung

[
    {
        "one" : "1"
        "two" : "2"
    }
    {
        "three" : "3"
        "four" : "4"
    }
    "five"
    "six"
]
1
[
    {
        "one" : "1"
        "two" : "2"
    }
    {
        "three" : "3"
        "four" : "4"
    }
    "five"
    "six"
]
2

Cả bình luận một dòng và nhiều dòng đều được phép. Nhận xét sử dụng các quy ước Java/Javascript. Xem thông số kỹ thuật

JSON thoải mái là gì?

JSON thư giãn [giấy phép BSD đã sửa đổi] là một siêu tập hợp nghiêm ngặt của JSON, giảm bớt tính nghiêm ngặt của JSON cố định . JSON hợp lệ, vani sẽ không bị thay đổi bởi RJSON. biến đổi. Nhưng có một số tính năng bổ sung giúp viết JSON bằng tay.

Làm cách nào để xâu chuỗi JSON bằng Python?

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành một chuỗi JSON bằng cách sử dụng hàm json. phương thức bãi []. .
tuple
chuỗi
trôi nổi
Sai

Làm cách nào để giải mã phản hồi JSON bằng Python?

Chỉ cần thực hiện phản hồi. json[] , thế là xong. phản ứng. json[] trả về phản hồi JSON ở định dạng từ điển Python để chúng tôi có thể truy cập JSON bằng các cặp khóa-giá trị.

JSON có chậm trong Python không?

Trình phân tích cú pháp JSON Python chuẩn [ json. tải [] v.v. ] tương đối chậm và nếu bạn cần phân tích cú pháp các tệp JSON lớn hoặc một số lượng lớn các tệp JSON nhỏ, điều này có thể gây ra tắc nghẽn đáng kể.

Chủ Đề