JSON có giống với JavaScript không?

Xem xét đối tượng được xác định trong ví dụ trước. để lấy các giá trị. Chúng ta cần gán đối tượng cho một biến

let exampleJsonObj = {
  "continentName": "North America",
  "area": 24.71,
  "countries": [
    {
      "countryName" : "Mexico",
      "countryCode" : "+52",
      "location" : "south of north america",
      "languagesSpoken" : ["spanish", "maya", "nahuatl"]
    }
  ]
}

Ghi chú. Để thử các ví dụ JSON bên dưới, bạn chỉ cần tạo một. html và thêm mã bên trong

Cú pháp của JSON được lấy cảm hứng từ ký hiệu JavaScript Object Literal, nhưng có sự khác biệt giữa chúng

Ví dụ: trong JSON, tất cả các khóa phải được trích dẫn, trong khi đối tượng bằng chữ thì không cần thiết

// JSON:
{ "foo": "bar" }

// Object literal:
var o = { foo: "bar" };

Các trích dẫn là bắt buộc đối với JSON vì trong JavaScript (chính xác hơn là trong ECMAScript 3rd. Edition), việc sử dụng các từ dành riêng làm tên thuộc tính không được phép, ví dụ:

var o = { if: "foo" }; // SyntaxError in ES3

Trong khi, sử dụng một chuỗi ký tự làm tên thuộc tính (trích dẫn tên thuộc tính) không có vấn đề gì

var o = { "if": "foo" }; 

Vì vậy, đối với "khả năng tương thích" (và có thể đánh giá dễ dàng?), các trích dẫn là bắt buộc

Các loại dữ liệu trong JSON cũng bị giới hạn ở các giá trị sau

  • string
  • number
  • object
  • array
  • Một nghĩa đen như

Ngữ pháp của Strings thay đổi. Chúng phải được phân định bằng dấu ngoặc kép, trong khi trong JavaScript, bạn có thể sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép thay thế cho nhau

// Invalid JSON:
{ "foo": 'bar' }

Ngữ pháp JSON được chấp nhận của

var o = { if: "foo" }; // SyntaxError in ES3
0 cũng thay đổi, trong JavaScript, bạn có thể sử dụng Chữ thập lục phân, ví dụ như
var o = { if: "foo" }; // SyntaxError in ES3
1 hoặc (khét tiếng) Chữ bát phân e. g.
var o = { if: "foo" }; // SyntaxError in ES3
2. Trong JSON, bạn chỉ có thể sử dụng Chữ số thập phân

________số 8_______

Có một số triển khai lỗi (Firefox 3. 5+, IE8+, json2. js) trong đó các ký tự bát phân được cho phép sai, e. g.

var o = { if: "foo" }; // SyntaxError in ES3
3 sẽ tạo ra một
var o = { if: "foo" }; // SyntaxError in ES3
4

JSON (Ký hiệu đối tượng JavaScript)

  • Chia sẻ mục này với mạng của bạn

JSON có giống với JavaScript không?

Qua
  • Alexander S. Gillis, Nhà văn và biên tập viên kỹ thuật

JSON (Ký hiệu đối tượng JavaScript) là gì?

JSON (Ký hiệu đối tượng JavaScript) là định dạng trao đổi dữ liệu dựa trên văn bản, con người có thể đọc được, được sử dụng để trao đổi dữ liệu giữa máy khách web và máy chủ web. Định dạng xác định một tập hợp các quy tắc cấu trúc để biểu diễn dữ liệu có cấu trúc. JSON được sử dụng thay thế cho Ngôn ngữ đánh dấu mở rộng (XML)

JSON ban đầu dựa trên ngôn ngữ lập trình JavaScript và được giới thiệu là ngôn ngữ kịch bản trang cho trình duyệt web Netscape Navigator. JSON đôi khi cũng được sử dụng trong môi trường lập trình phía máy tính để bàn và máy chủ

Lập trình viên máy tính người Mỹ Douglas Crockford đã tạo JSON. Định dạng được lấy từ tiêu chuẩn ngôn ngữ lập trình JavaScript và tuân theo cú pháp đối tượng JavaScript. JSON bao gồm các cặp tên-đối tượng và dấu chấm câu ở dạng dấu ngoặc đơn, dấu ngoặc đơn, dấu chấm phẩy và dấu hai chấm. Mỗi đối tượng được xác định bằng một toán tử, chẳng hạn như văn bản hoặc hình ảnh và được nhóm với một giá trị cho toán tử đó. Các tệp JSON được gắn nhãn là. json. JSON có định dạng ngôn ngữ độc lập

JSON có cấu trúc đơn giản và không sử dụng ký hiệu toán học hoặc thuật toán. Nó rất dễ hiểu, ngay cả với người dùng có kinh nghiệm lập trình hạn chế. Nó được coi là một cách nhanh chóng, dễ tiếp cận để tạo các trang tương tác. Nó đã trở thành định dạng được lựa chọn cho các dịch vụ web công khai. Nó có hỗ trợ riêng trong cơ sở dữ liệu quan hệ và NoSQL

Tuy nhiên, người dùng JSON mới phải nhận thức được các tác động bảo mật tiềm ẩn. Tập lệnh JSON tự động thực thi trong bất kỳ trang web nào được trình duyệt web yêu cầu. Do đó, chúng có thể được sử dụng để thực hiện các cuộc tấn công chèn JavaScript chống lại máy khách web, chẳng hạn như chèn lệnh hoặc tạo tập lệnh chéo trang

Ví dụ: nếu tin tặc chèn mã không phải JSON vào một chuỗi, chẳng hạn như ngựa thành Troia, thì thuật toán được nhắm mục tiêu sẽ thực thi văn bản như thể đó là JavaScript và sau đó trả về giá trị của câu lệnh cuối cùng. Nếu câu lệnh duy nhất là một giá trị JSON, thì không có hiệu lực. Tuy nhiên, nếu một câu lệnh trước đó chứa mã JavaScript khác, thì mã đó sẽ được thực thi bởi tập lệnh. Điều này có thể cấp cho tin tặc quyền truy cập vào tất cả các biến mà tập lệnh có quyền truy cập, có khả năng gây hại cho PC của người dùng

JSON có giống với JavaScript không?
Cấu trúc mẫu cơ bản này trong công cụ cơ sở hạ tầng dưới dạng mã là một ví dụ điển hình về mã JSON

Tại sao JSON được sử dụng?

JSON đã được Tổ chức Tiêu chuẩn hóa Quốc tế chấp nhận là tiêu chuẩn ISO/IEC 21778. 2017 với mục tiêu xác định cú pháp của văn bản JSON hợp lệ

JSON được sử dụng trong JavaScript trên internet như một giải pháp thay thế cho XML để sắp xếp dữ liệu. JSON không phụ thuộc vào ngôn ngữ và có thể được kết hợp với C++, Java, Python và nhiều ngôn ngữ khác. Không giống như XML, một ngôn ngữ đánh dấu đầy đủ, JSON chỉ đơn giản là một cách để biểu diễn các cấu trúc dữ liệu. Các tài liệu JSON tương đối nhẹ và được thực thi nhanh chóng trên các máy chủ web

Một ví dụ JSON

JSON bao gồm các mảng và đối tượng, cũng như tên và các cặp giá trị. Dấu câu được sử dụng trong định dạng bao gồm dấu ngoặc kép, dấu ngoặc đơn, dấu ngoặc đơn, dấu chấm phẩy và dấu hai chấm

Dữ liệu trong JSON được viết theo cặp tên và giá trị, tương tự như thuộc tính đối tượng JavaScript. Một cặp tên và giá trị được tạo bằng cách sử dụng tên được đặt trong dấu ngoặc kép, theo sau là dấu hai chấm và một giá trị đã cho

Ví dụ, một mảng tên nhân viên có thể trông như thế này

"employees":[
 {"firstname":"John", "lastname":"Doe"},
    {"firstname":"Jane", "lastname":"Doe"},
]

Mỗi dòng là một đối tượng và cả hai dòng cùng nhau sẽ là một phần của một mảng. Tên trong cặp tên và giá trị bao gồm tênhọ , trong khi .

đối tượng JSON

Các đối tượng JSON là các cặp tên và giá trị không có thứ tự. Các đối tượng được viết bên trong dấu ngoặc nhọn, như thế này { }. Mọi thứ bên trong dấu ngoặc nhọn là một phần của đối tượng. Các đối tượng có thể chứa nhiều cặp tên và giá trị. Mỗi tên được theo sau bởi dấu hai chấm và các cặp giá trị tên được phân tách bằng dấu phẩy

Các đối tượng có thể được truy cập khi cần thiết và sửa đổi, xóa hoặc lặp lại

mảng JSON

Mảng JSON là một danh sách các giá trị được sắp xếp theo thứ tự. Mảng được sử dụng để lưu trữ các đối tượng, chuỗi, ký hiệu số và ký hiệu Boolean. Một mảng có thể được tạo thành từ nhiều kiểu dữ liệu

Các mảng trong JSON được bao quanh bởi các dấu ngoặc vuông, như thế này [ ]. Mỗi giá trị trong mảng được phân tách bằng dấu phẩy. Người dùng có thể truy cập các giá trị mảng và cập nhật, xóa hoặc lặp chúng. Một mảng có thể được lưu trữ bên trong một mảng JSON khác;

Chuyển đổi JSON giữa văn bản và đối tượng

Có hai phương pháp để chuyển đổi giữa văn bản và đối tượng. phân tích cú pháp()xâu chuỗi . Các phương thức này có thể được sử dụng để đọc dữ liệu từ máy chủ web khi nhà phát triển có chuỗi JSON và muốn chuyển đổi nó thành đối tượng. Chúng cũng có thể được sử dụng khi người dùng có một đối tượng JavaScript để gửi qua mạng trước tiên phải được chuyển đổi thành JSON. . These methods might be used to read data from a web server when a developer has a JSON string and wants to convert it to an object. They can also be used when a user has a JavaScript object to send across a network that must be first converted to JSON.

phân tích cú pháp ()

Phương thức này chấp nhận một chuỗi JSON làm tham số và tự động trả về một đối tượng JavaScript. Để sử dụng parse() , hãy tạo một chuỗi JavaScript chứa cú pháp JSON, sau đó sử dụng hàm JSON. phân tích cú pháp() để chuyển đổi chuỗi thành đối tượng JavaScript.

Chuỗi hóa ()

Phương thức này chấp nhận một đối tượng làm tham số và tự động trả về một chuỗi JSON. Để sử dụng stringify() , hãy tạo một đối tượng JavaScript rồi chuyển đổi nó bằng cách sử dụng stringify() function. After this, save the new value in a new variable.

JSON so với. HTML so với. XML. Sự khác biệt là gì?

Ngôn ngữ đánh dấu siêu văn bản là một cách tiếp cận dựa trên văn bản để mô tả cách cấu trúc nội dung chứa trong tệp HTML. Đánh dấu này cho trình duyệt web biết cách hiển thị văn bản, hình ảnh và các dạng đa phương tiện khác trên ứng dụng web

Tương tự như vậy, XML là một ngôn ngữ đánh dấu khác. Nó được sử dụng để tạo định dạng cho dữ liệu được sử dụng để mã hóa thông tin cho tài liệu, bản ghi cơ sở dữ liệu, giao dịch và các chức năng khác

Giải pháp thay thế chính cho XML là JSON. Giống như XML, JSON độc lập với ngôn ngữ và có thể kết hợp với C++, Java, Python và các ngôn ngữ khác. Không giống như XML, JSON chỉ đơn giản là một cách để biểu diễn các cấu trúc dữ liệu, trái ngược với một ngôn ngữ đánh dấu đầy đủ

XML khó quản lý hơn định dạng JSON. Chuyển đổi XML thành một đối tượng JavaScript cần thêm hàng chục hoặc hàng trăm dòng mã so với JSON và nó yêu cầu trình phân tích cú pháp XML. Các tài liệu XML cũng khó đọc hơn khi so sánh với JSON

HTML tương đối đơn giản so với JSON. Nó có nhiều hạn chế hơn và JSON linh hoạt hơn. JSON cũng cho phép sử dụng các cấu trúc dữ liệu phức tạp hơn so với HTML. Ví dụ: HTML không thể lưu trữ các giá trị bên trong các biến

Tìm hiểu thêm về các khả năng của cơ sở dữ liệu JSON và cách các nhà cung cấp nền tảng dữ liệu khác nhau sử dụng chúng

JSON có giống với JavaScript không?

Sự khác biệt giữa Javascript và JSON . 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.

JSON có phải là một dạng JavaScript không?

JSON là định dạng dữ liệu dựa trên văn bản tuân theo cú pháp đối tượng JavaScript , được phổ biến bởi Douglas Crockford. Mặc dù nó gần giống với cú pháp theo nghĩa đen của đối tượng JavaScript, nhưng nó có thể được sử dụng độc lập với JavaScript và nhiều môi trường lập trình có khả năng đọc (phân tích cú pháp) và tạo JSON.

Tôi nên học JavaScript hay JSON?

Bản thân Javascript là ngôn ngữ nên bạn nên học nó trước . JSON là ký hiệu đối tượng javascript nên khi học Javascript bạn cũng sẽ học nó.

JSON có hợp lệ không JavaScript?

Nó được bắt nguồn từ JavaScript, nhưng nhiều ngôn ngữ lập trình hiện đại bao gồm mã để tạo và phân tích dữ liệu định dạng JSON. Tên tệp JSON sử dụng phần mở rộng. json. Mọi tệp JSON hợp lệ đều là JavaScript hợp lệ (