Hướng dẫn what is json method in javascript? - Phương thức json trong javascript là gì?

Đối tượng JSON chứa các phương thức phân tích ký hiệu đối tượng JavaScript (JSON) và chuyển đổi các giá trị thành JSON. Nó không thể được gọi hoặc xây dựng.JSON object contains methods for parsing JavaScript Object Notation (JSON) and converting values to JSON. It can't be called or constructed.

Sự mô tả

Không giống như hầu hết các đối tượng toàn cầu, JSON không phải là một hàm tạo. Bạn không thể sử dụng nó với toán tử new hoặc gọi đối tượng JSON làm hàm. Tất cả các thuộc tính và phương thức của JSON là tĩnh (giống như đối tượng Math).

Sự khác biệt của JavaScript và JSON

JSON là một cú pháp để tuần tự hóa các đối tượng, mảng, số, chuỗi, booleans và null. Nó dựa trên cú pháp JavaScript, nhưng khác với JavaScript: hầu hết JavaScript không phải là JSON. Ví dụ:

Đối tượng và mảng

Tên tài sản phải là chuỗi được trích dẫn kép; Dấu phẩy bị cấm.

Số

Các số không hàng đầu bị cấm. Một điểm thập phân phải được theo sau bởi ít nhất một chữ số.

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
0 và
{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
1 không được hỗ trợ.

Bất kỳ văn bản JSON nào cũng là một biểu thức JavaScript hợp lệ, nhưng chỉ sau khi sửa đổi JSON SuperSet. Trước khi sửa đổi, bộ phân cách dòng U+2028 và phân tách đoạn U+2029 được cho phép trong các chuỗi chữ và khóa thuộc tính trong JSON; Nhưng việc sử dụng tương tự trong các chữ JavaScript là một

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
2.

Các khác biệt khác bao gồm chỉ cho phép các chuỗi được trích dẫn kép và không hỗ trợ cho

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
3 hoặc nhận xét. Đối với những người muốn sử dụng định dạng cấu hình thân thiện với con người hơn dựa trên JSON, có JSON5, được sử dụng bởi trình biên dịch Babel và YAML được sử dụng phổ biến hơn.

Cùng một văn bản có thể đại diện cho các giá trị khác nhau trong các chữ cái JavaScript so với JSON. Để biết thêm thông tin, hãy xem Đối tượng cú pháp theo nghĩa đen so với JSON.

Ngữ pháp JSON đầy đủ

Cú pháp JSON hợp lệ được chính thức được xác định bởi ngữ pháp sau, được thể hiện bằng ABNF và được sao chép từ tiêu chuẩn IETF JSON (RFC):

JSON-text = object / array
begin-array     = ws %x5B ws  ; [ left square bracket
begin-object    = ws %x7B ws  ; { left curly bracket
end-array       = ws %x5D ws  ; ] right square bracket
end-object      = ws %x7D ws  ; } right curly bracket
name-separator  = ws %x3A ws  ; : colon
value-separator = ws %x2C ws  ; , comma
ws = *(
     %x20 /              ; Space
     %x09 /              ; Horizontal tab
     %x0A /              ; Line feed or New line
     %x0D                ; Carriage return
     )
value = false / null / true / object / array / number / string
false = %x66.61.6c.73.65   ; false
null  = %x6e.75.6c.6c      ; null
true  = %x74.72.75.65      ; true
object = begin-object [ member *( value-separator member ) ]
         end-object
member = string name-separator value
array = begin-array [ value *( value-separator value ) ] end-array
number = [ minus ] int [ frac ] [ exp ]
decimal-point = %x2E       ; .
digit1-9 = %x31-39         ; 1-9
e = %x65 / %x45            ; e E
exp = e [ minus / plus ] 1*DIGIT
frac = decimal-point 1*DIGIT
int = zero / ( digit1-9 *DIGIT )
minus = %x2D               ; -
plus = %x2B                ; +
zero = %x30                ; 0
string = quotation-mark *char quotation-mark
char = unescaped /
    escape (
        %x22 /          ; "    quotation mark  U+0022
        %x5C /          ; \    reverse solidus U+005C
        %x2F /          ; /    solidus         U+002F
        %x62 /          ; b    backspace       U+0008
        %x66 /          ; f    form feed       U+000C
        %x6E /          ; n    line feed       U+000A
        %x72 /          ; r    carriage return U+000D
        %x74 /          ; t    tab             U+0009
        %x75 4HEXDIG )  ; uXXXX                U+XXXX
escape = %x5C              ; \
quotation-mark = %x22      ; "
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
HEXDIG = DIGIT / %x41-46 / %x61-66   ; 0-9, A-F, or a-f
       ; HEXDIG equivalent to HEXDIG rule in [RFC5234]
DIGIT = %x30-39            ; 0-9
      ; DIGIT equivalent to DIGIT rule in [RFC5234]

Khoảng trắng không đáng kể có thể xuất hiện ở bất cứ đâu ngoại trừ trong một

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
4 (các số phải không chứa khoảng trắng) hoặc
{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
5 (trong đó nó được hiểu là ký tự tương ứng trong chuỗi hoặc sẽ gây ra lỗi). Ký tự tab (u+0009), return vận chuyển (u+000D), nguồn cấp dữ liệu dòng (u+000a) và các ký tự không gian (u+0020) là các ký tự khoảng trắng hợp lệ duy nhất.

Phương pháp tĩnh

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
6

Phân tích một đoạn văn bản chuỗi là JSON, tùy chọn chuyển đổi giá trị được tạo ra và các thuộc tính của nó và trả về giá trị.

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
7

Trả về chuỗi JSON tương ứng với giá trị được chỉ định, tùy chọn chỉ bao gồm một số thuộc tính nhất định hoặc thay thế các giá trị thuộc tính theo cách do người dùng xác định.

Ví dụ

Ví dụ json

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}

Bạn có thể sử dụng phương thức

{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}
6 để chuyển đổi chuỗi JSON trên thành đối tượng JavaScript:

const jsonText = `{
  "browsers": {
    "firefox": {
      "name": "Firefox",
      "pref_url": "about:config",
      "releases": {
        "1": {
          "release_date": "2004-11-09",
          "status": "retired",
          "engine": "Gecko",
          "engine_version": "1.7"
        }
      }
    }
  }
}`;

console.log(JSON.parse(jsonText));

Thông số kỹ thuật

Sự chỉ rõ
Đặc tả ngôn ngữ Ecmascript # sec-json-expect
# sec-json-object

Tính tương thích của trình duyệt web

Bảng BCD chỉ tải trong trình duyệt

Xem thêm

Phương thức json () trong javascript là gì?

Đối tượng JSON chứa các phương thức để phân tích ký hiệu đối tượng JavaScript (JSON) và chuyển đổi các giá trị thành JSON. Nó không thể được gọi hoặc xây dựng.. It can't be called or constructed.

Phương thức json parse () là gì?

Phương thức json.parse () phân tích chuỗi JSON, xây dựng giá trị javascript hoặc đối tượng được mô tả bởi chuỗi.Một hàm reviver tùy chọn có thể được cung cấp để thực hiện chuyển đổi trên đối tượng kết quả trước khi nó được trả về.parses a JSON string, constructing the JavaScript value or object described by the string. An optional reviver function can be provided to perform a transformation on the resulting object before it is returned.

JSON và ví dụ là gì?

JSON là viết tắt của ký hiệu đối tượng JavaScript.JSON là một định dạng dữ liệu dựa trên văn bản được sử dụng để lưu trữ và chuyển dữ liệu.Ví dụ: // JSON Cú pháp {"name": "John", "Age": 22, "Giới tính": "nam",} trong JSON, dữ liệu nằm trong các cặp khóa/giá trị được phân tách bằng dấu phẩy,.JSON có nguồn gốc từ JavaScript.a text-based data format that is used to store and transfer data. For example, // JSON syntax { "name": "John", "age": 22, "gender": "male", } In JSON, the data are in key/value pairs separated by a comma , . JSON was derived from JavaScript.

Quá trình JSON là gì?

Ký hiệu đối tượng JavaScript, thường được biết đến bởi từ viết tắt JSON, là một định dạng trao đổi dữ liệu mở vừa là người và máy có thể đọc được.Mặc dù có tên ký hiệu đối tượng JavaScript, JSON không phụ thuộc vào bất kỳ ngôn ngữ lập trình nào và là đầu ra API phổ biến trong nhiều ứng dụng.an open data interchange format that is both human and machine-readable. Despite the name JavaScript Object Notation, JSON is independent of any programming language and is a common API output in a wide variety of applications.