Jason có một JSON lớn nhưng không thể đọc được, vì vậy anh ta cần phải làm đẹp nó.
Định dạng Spec
JSON có 4 loại khác nhau:
- Số; Chỉ
0-9
- Dây;
"
Chuỗi trích dẫn đôi đã thoát với\
- Mảng; Được giới hạn bởi
[]
, với các mục được phân tách bằng,
, các mục có thể là bất kỳ loại nào trong số các loại này - Các đối tượng; Được giới hạn bởi
{}
, định dạng làkey: value
nơi khóa là một chuỗi và giá trị là bất kỳ loại nào trong số các loại này
khoảng cách
- Mảng nên có chính xác một khoảng trắng sau dấu phẩy giữa các mục
- Các đối tượng chỉ nên có một khoảng trắng giữa khóa và giá trị, sau dấu
:
Lõm
- Mỗi cấp độ lồng được thụt lề 2 lần so với trước
- Mỗi cặp khóa / giá trị đối tượng luôn nằm trên một dòng riêng. Đối tượng được thụt lề
- Một mảng được thụt vào trên nhiều dòng nếu nó chứa một mảng hoặc đối tượng khác. Nếu không thì mảng vẫn nằm trên một dòng
Quy tắc
- Được xây dựng mà tầm thường hóa nhiệm vụ này không phải là được phép.
- Như mọi sơ hở tiêu chuẩn không được phép
Ví dụ
[1,2,3]
[1, 2, 3]
{"a":1,"b":4}
{
"a": 1,
"b": 4
}
"foo"
"foo"
56
56
{"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]}
{
"a": [
{
"b": 1,
"c": "foo"
},
{
"d": [2, 3, 4, 1],
"a": [
"abc",
"def",
{
"d": {
"f": [3, 4]
}
}
]
}
]
}
[2,["foo123 ' bar \" baz\\", [1,2,3]]]
[
2,
[
"foo123 ' bar \" baz\\",
[1, 2, 3]
]
]
[1,2,3,"4[4,5]"]
[1, 2, 3, "4[4,5]"]
[1,2,3,{"b":["{\"c\":[2,5,6]}",4,5]}]
[
1,
2,
3,
{
"b": ["{\"c\":[2,5,6]}", 4, 5]
}
]
1
Các phân tích cú pháp JSON được phép?
—
PurkkaKoodari
Các đối tượng / mảng có thể trống không? Chúng ta vẫn có thể in một khoảng trắng sau dấu phẩy trong mảng nếu chúng phân chia trên nhiều dòng chứ?
—
Martin Ender
@ MartinBüttner không, và vâng
—
Downgoat
@ Pietu1998 hm, tôi sẽ nói không
—
Downgoat
Là ngôn ngữ phân tích cú pháp ngôn ngữ được phép?
—
Mama Fun Roll