JSON – Hướng dẫn nhanh, JSON hoặc JavaScript Object Notation là một tiêu chuẩn mở dựa trên văn bản nhẹ được thiết kế để trao đổi dữ liệu có thể đọc được của con người. Các quy ước được JSON sử dụng được biết đến với

Bạn đang xem: mã json là gì

JSON – Hướng dẫn nhanh

Quảng cáo

JSON – Tổng quan

JSON hoặc JavaScript Object Notation là một tiêu chuẩn mở dựa trên văn bản nhẹ được thiết kế để trao đổi dữ liệu mà con người có thể đọc được. Các quy ước được sử dụng bởi JSON được các lập trình viên biết đến, bao gồm C, C ++, Java, Python, Perl, v.v.

  • JSON là viết tắt của JavaScript Object Notation.

  • Định dạng do Douglas Crockford chỉ định.

  • Nó được thiết kế để trao đổi dữ liệu mà con người có thể đọc được.

  • Nó đã được mở rộng từ ngôn ngữ kịch bản JavaScript.

  • Phần mở rộng của tên tệp là .json .

  • Loại JSON Internet Media là ứng dụng / json .

  • Số nhận dạng loại thống nhất là public.json.

Sử dụng JSON

  • Nó được sử dụng trong khi viết các ứng dụng dựa trên JavaScript bao gồm các trang web và tiện ích mở rộng trình duyệt.

  • Định dạng JSON được sử dụng để tuần tự hóa và truyền dữ liệu có cấu trúc qua kết nối mạng.

  • Nó chủ yếu được sử dụng để truyền dữ liệu giữa máy chủ và các ứng dụng web.

  • Các dịch vụ web và API sử dụng định dạng JSON để cung cấp dữ liệu công khai.

  • Nó có thể được sử dụng với các ngôn ngữ lập trình hiện đại.

Đặc điểm của JSON

  • JSON rất dễ đọc và dễ viết.
  • Đây là một định dạng trao đổi dựa trên văn bản nhẹ.
  • JSON độc lập với ngôn ngữ.

Ví dụ đơn giản trong JSON

Ví dụ sau đây cho thấy cách sử dụng JSON để lưu trữ thông tin liên quan đến sách dựa trên chủ đề và ấn bản của chúng.

{
   "sách": [

      {
         "id": "01",
         "ngôn ngữ": "Java",
         "ấn bản": "thứ ba",
         "tác giả": "Herbert Schildt"
      },

      {
         "id": "07",
         "ngôn ngữ": "C ++",
         "ấn bản": "thứ hai",
         "tác giả": "E.Balagurusamy"
      }
   ]
}

Sau khi hiểu chương trình trên, chúng ta sẽ thử một ví dụ khác. Hãy lưu đoạn mã dưới đây thành json.htm

& lt; html & gt;
   & lt; đầu & gt;
      & lt; title & gt; JSON ví dụ & lt; / title & gt;
      & lt; script language = "javascript" & gt;
         var object1 = {"language": "Java", "author": "herbert schildt"};
         document.write ("& lt; h1 & gt; JSON với ví dụ JavaScript & lt; / h1 & gt;");
         document.write ("& lt; br & gt;");
         document.write ("& lt; h3 & gt; Language =" + object1.language + "& lt; / h3 & gt;");
         document.write ("& lt; h3 & gt; Author =" + object1.author + "& lt; / h3 & gt;");

         var object2 = {"language": "C ++", "author": "E-Balagurusamy"};
         document.write ("& lt; br & gt;");
         document.write ("& lt; h3 & gt; Language =" + object2.language + "& lt; / h3 & gt;");
         document.write ("& lt; h3 & gt; Author =" + object2.author + "& lt; / h3 & gt;");
  
         document.write ("& lt; hr / & gt;");
         document.write (object2.language + "ngôn ngữ lập trình có thể được nghiên cứu" + "từ cuốn sách được viết bởi" + object2.author);
         document.write ("& lt; hr / & gt;");
      & lt; / script & gt;
   & lt; / head & gt;
   
   & lt; body & gt;
   & lt; / body & gt;
& lt; / html & gt;

Bây giờ, hãy thử mở json.htm bằng IE hoặc bất kỳ trình duyệt hỗ trợ javascript nào khác tạo ra kết quả sau –

Bạn có thể tham khảo chương Đối tượng JSON để biết thêm thông tin về các đối tượng JSON.

JSON – Cú pháp

Hãy xem nhanh cú pháp cơ bản của JSON. Cú pháp JSON về cơ bản được coi là một tập hợp con của cú pháp JavaScript; nó bao gồm những điều sau –

  • Dữ liệu được biểu thị bằng các cặp tên / giá trị.

  • Dấu ngoặc nhọn giữ các đối tượng và mỗi tên được theo sau bởi ‘:’ (dấu hai chấm), các cặp tên / giá trị được phân tách bằng dấu, (dấu phẩy).

  • Dấu ngoặc vuông giữ các mảng và các giá trị được phân tách bằng dấu, (dấu phẩy).

Dưới đây là một ví dụ đơn giản –

{
   "sách": [

      {
         "id": "01",
         "ngôn ngữ": "Java",
         "ấn bản": "thứ ba",
         "tác giả": "Herbert Schildt"
      },

      {
         "id": "07",
         "ngôn ngữ": "C ++",
         "ấn bản": "thứ hai",
         "tác giả": "E.Balagurusamy"
      }

   ]
}

JSON hỗ trợ hai cấu trúc dữ liệu sau –

  • Tập hợp các cặp tên / giá trị – Cấu trúc dữ liệu này được hỗ trợ bởi các ngôn ngữ lập trình khác nhau.

  • Danh sách các giá trị có thứ tự – Nó bao gồm mảng, danh sách, vectơ hoặc chuỗi, v.v.

JSON – Kiểu dữ liệu

Định dạng JSON hỗ trợ các loại dữ liệu sau –

Sr.No.
Nhập & amp; Sự mô tả

1

Số

định dạng dấu phẩy động chính xác kép trong JavaScript

2

Chuỗi

Unicode được trích dẫn kép có thoát dấu gạch chéo ngược

3

Boolean

đúng hay sai

4

Mảng

một chuỗi giá trị có thứ tự

5

Giá trị

nó có thể là một chuỗi, một số, đúng hoặc sai, null, v.v.

6

Đối tượng

một bộ sưu tập các cặp khóa: giá trị không có thứ tự

7

Khoảng trắng

có thể được sử dụng giữa bất kỳ cặp mã thông báo nào

số 8

null

trống

Số

  • Đây là định dạng dấu phẩy động có độ chính xác kép trong JavaScript và nó phụ thuộc vào việc triển khai.

  • Các định dạng bát phân và thập lục phân không được sử dụng.

  • Không có NaN hoặc Infinity được sử dụng trong Number.

Bảng sau đây hiển thị các loại số –

Sr.No.
Nhập & amp; Sự mô tả

1

Số nguyên

Các chữ số 1-9, 0 và dương hoặc âm

2

Phân số

Các phân số như .3, .9

3

Số mũ

Số mũ như e, e +, e-, E, E +, E-

Cú pháp

var json-object-name = {string: number_value, .......}

Ví dụ

Ví dụ hiển thị Kiểu dữ liệu số, giá trị không được trích dẫn –

var obj = {mark: 97}

Chuỗi

  • Đây là một chuỗi không hoặc nhiều ký tự Unicode được trích dẫn kép có thoát dấu gạch chéo ngược.

  • Ký tự là một chuỗi ký tự đơn, tức là một chuỗi có độ dài 1.

Bảng hiển thị các ký tự đặc biệt khác nhau mà bạn có thể sử dụng trong các chuỗi của tài liệu JSON –

Sr.No.
Nhập & amp; Sự mô tả

1

dấu ngoặc kép

2

\

dấu gạch chéo ngược

3

/

dấu gạch chéo lên phía trước

4

b

xóa lùi

5

f

nguồn cấp dữ liệu biểu mẫu

6

n

dòng mới

7

r

dấu xuống dòng

số 8

t

tab ngang

9

u

bốn chữ số thập lục phân

Cú pháp

var json-object-name = {string: "string value", .......}

Ví dụ

Ví dụ hiển thị Kiểu dữ liệu chuỗi –

var obj = {name: 'Amit'}

Boolean

Nó bao gồm các giá trị đúng hoặc sai.

Cú pháp

var json-object-name = {string: true / false, .......}

Ví dụ

var obj = {name: 'Amit', mark: 97, difference: true}

Mảng

  • Đây là một tập hợp các giá trị có thứ tự.

  • Chúng được đặt trong dấu ngoặc vuông có nghĩa là mảng bắt đầu bằng. [. và kết thúc bằng.] ..

  • Các giá trị được phân tách bằng dấu, (dấu phẩy).

  • Có thể bắt đầu lập chỉ mục mảng ở 0 hoặc 1.

  • Mảng nên được sử dụng khi tên khóa là các số nguyên liên tiếp.

Cú pháp

[ giá trị, .......]

Ví dụ

Ví dụ hiển thị mảng chứa nhiều đối tượng –

{
   "sách": [
      {"language": "Java", "edition": "second"},
      {"language": "C ++", "lastName": "5th"},
      {"language": "C", "lastName": "third"}
   ]
}

Đối tượng

  • Đây là một tập hợp các cặp tên / giá trị không có thứ tự.

  • Các đối tượng được đặt trong dấu ngoặc nhọn, nó bắt đầu bằng ‘{‘ và kết thúc bằng ‘}’.

  • Mỗi tên được theo sau bởi ‘:’ (dấu hai chấm) và các cặp khóa / giá trị được phân tách bằng dấu, (dấu phẩy).

  • Các khóa phải là chuỗi và phải khác nhau.

  • Đối tượng nên được sử dụng khi tên khóa là các chuỗi tùy ý.

Cú pháp

{ Chuỗi giá trị, .......}

Ví dụ

Ví dụ hiển thị Đối tượng –

{
   "id": "011A",
   "ngôn ngữ": "JAVA",
   "giá": 500,
}

Khoảng trắng

Nó có thể được chèn vào giữa bất kỳ cặp mã thông báo nào. Nó có thể được thêm vào để làm cho mã dễ đọc hơn. Ví dụ hiển thị khai báo có và không có khoảng trắng –

Cú pháp

{sợi dây:" ",....}

Ví dụ

var obj1 = {"name": "Sachin Tendulkar"}
var obj2 = {"name": "SauravGanguly"}

null

Nó có nghĩa là loại trống.

Cú pháp

vô giá trị

Ví dụ

var i = null;

nếu (tôi == 1) {
   document.write ("& lt; h1 & gt; giá trị là 1 & lt; / h1 & gt;");
} khác {
   document.write ("& lt; h1 & gt; giá trị là null & lt; / h1 & gt;");
}

Giá trị JSON

Nó bao gồm –

  • số (số nguyên hoặc dấu phẩy động)
  • chuỗi
  • boolean
  • mảng
  • đối tượng
  • null

Cú pháp

Chuỗi | Số | Đối tượng | Mảng | SỰ THẬT | SAI LẦM | VÔ GIÁ TRỊ

Ví dụ

var i = 1;
var j = "sachin";
var k = null;

JSON – Đối tượng

Tạo các đối tượng đơn giản

Các đối tượng JSON có thể được tạo bằng JavaScript. Hãy để chúng tôi xem các cách khác nhau để tạo các đối tượng JSON bằng JavaScript –

  • Tạo một Đối tượng trống –
var JSONObj = {};
  • Tạo một Đối tượng mới –
var JSONObj = new Object ();
  • Tạo một đối tượng có thuộc tính tên sách có giá trị bằng chuỗi, thuộc tính giá với giá trị số. Thuộc tính được truy cập bằng cách sử dụng ‘.’ Người điều hành –

var JSONObj = {"bookname": "VB BLACK BOOK", "price": 500};

Đây là một ví dụ cho thấy việc tạo một đối tượng trong javascript bằng cách sử dụng JSON, hãy lưu mã dưới đây thành json_object.htm

& lt; html & gt;
   & lt; đầu & gt;
      & lt; title & gt; Tạo Object JSON bằng JavaScript & lt; / title & gt;
      & lt; script language = "javascript" & gt;
         var JSONObj = {"name": "tutorialspoint.com", "year": 2005};

         document.write ("& lt; h1 & gt; JSON với ví dụ JavaScript & lt; / h1 & gt;");
         document.write ("& lt; br & gt;");
         document.write ("& lt; h3 & gt; Tên Trang web =" + JSONObj.name + "& lt; / h3 & gt;");
         document.write ("& lt; h3 & gt; Year =" + JSONObj.year + "& lt; / h3 & gt;");
      & lt; / script & gt;
   & lt; / head & gt;
   
   & lt; body & gt;
   & lt; / body & gt;
& lt; / html & gt;

Bây giờ, hãy thử mở Json Object bằng IE hoặc bất kỳ trình duyệt hỗ trợ javaScript nào khác. Nó tạo ra kết quả sau –

Xem Thêm  Vòng lặp trong Java - cách tạo vòng lặp java

Tạo đối tượng mảng

Ví dụ sau cho thấy việc tạo một đối tượng mảng trong javascript bằng cách sử dụng JSON, hãy lưu mã dưới đây thành json_array_object.htm

& lt; html & gt;
   & lt; đầu & gt;
      & lt; title & gt; Tạo đối tượng mảng trong javascript bằng JSON & lt; / title & gt;
      & lt; script language = "javascript" & gt;
         document.writeln ("& lt; h2 & gt; Đối tượng mảng JSON & lt; / h2 & gt;");
         var books = {"Pascal": [
            {"Name": "Pascal Made Simple", "price": 700},
            {"Name": "Hướng dẫn Pascal", "price": 400}],

            "Scala": [
               {"Tên": "Scala cho người thiếu kiên nhẫn", "giá": 1000},
               {"Name": "Scala in Depth", "price": 1300}]
         }
         var i = 0
         document.writeln ("& lt; table border = '2' & gt; & lt; tr & gt;");

         for (i = 0; i & lt; books.Pascal.length; i ++) {
            document.writeln ("& lt; td & gt;");
            document.writeln ("& lt; table border = '1' width = 100 & gt;");
            document.writeln ("& lt; tr & gt; & lt; td & gt; & lt; b & gt; Name & lt; / b & gt; & lt; / td & gt; & lt; td width = 50 & gt;" + books.Pascal [i] .Name + "& lt; / td & gt; & lt; / tr & gt; ");
            document.writeln ("& lt; tr & gt; & lt; td & gt; & lt; b & gt; Price & lt; / b & gt; & lt; / td & gt; & lt; td width = 50 & gt;" + books.Pascal [i] .price + "& lt; / td & gt ; & lt; / tr & gt; ");
            document.writeln ("& lt; / table & gt;");
            document.writeln ("& lt; / td & gt;");
         }

         for (i = 0; i & lt; books.Scala.length; i ++) {
            document.writeln ("& lt; td & gt;");
            document.writeln ("& lt; table border = '1' width = 100 & gt;");
            document.writeln ("& lt; tr & gt; & lt; td & gt; & lt; b & gt; Name & lt; / b & gt; & lt; / td & gt; & lt; td width = 50 & gt;" + books.Scala [i] .Name + "& lt; / td & gt; & lt; / tr & gt; ");
            document.writeln ("& lt; tr & gt; & lt; td & gt; & lt; b & gt; Price & lt; / b & gt; & lt; / td & gt; & lt; td width = 50 & gt;" + books.Scala [i] .price + "& lt; / td & gt; & lt; / tr & gt; ");
            document.writeln ("& lt; / table & gt;");
            document.writeln ("& lt; / td & gt;");
         }

         document.writeln ("& lt; / tr & gt; & lt; / table & gt;");
      & lt; / script & gt;
   & lt; / head & gt;
   
   & lt; body & gt;
   & lt; / body & gt;
& lt; / html & gt;

Bây giờ, hãy thử mở Json Array Object bằng IE hoặc bất kỳ trình duyệt hỗ trợ javaScript nào khác. Nó tạo ra kết quả sau –

JSON – Lược đồ

Lược đồ JSON là một đặc tả cho định dạng dựa trên JSON để xác định cấu trúc của dữ liệu JSON. Nó được viết theo bản nháp IETF đã hết hạn vào năm 2011. Lược đồ JSON –

  • Mô tả định dạng dữ liệu hiện có của bạn.
  • Tài liệu rõ ràng, con người và máy móc có thể đọc được.
  • Xác thực cấu trúc hoàn chỉnh, hữu ích cho kiểm tra tự động.
  • Hoàn thành xác thực cấu trúc, xác thực dữ liệu do khách hàng gửi.

Thư viện xác thực lược đồ JSON

Hiện có một số trình xác thực cho các ngôn ngữ lập trình khác nhau. Hiện tại, trình xác thực lược đồ JSON tuân thủ và hoàn chỉnh nhất hiện có là JSV.

Ngôn ngữ
Thư viện

C
WJElement (LGPLv3)

Java
json-schema-validator (LGPLv3)

.MẠNG LƯỚI
Json.NET (MIT)

ActionScript 3
Frigga (MIT)

Haskell
aeson-schema (MIT)

Python
Jsonschema

Ruby
tự động phân tích (ASL 2.0); ruby-jsonschema (MIT)

PHP
php-json-schema (MIT). json-schema (Berkeley)

JavaScript
Có trật tự (BSD); JSV; json-giản đồ; Matic (MIT); Võ đường; Kiên trì (BSD sửa đổi hoặc AFL 2.0); schema.js.

Ví dụ về lược đồ JSON

Dưới đây là một giản đồ JSON cơ bản, bao gồm mô tả danh mục sản phẩm cổ điển –

{
   "$ schema": "http://json-schema.org/draft-04/schema#",
   "title": "Sản phẩm",
   "description": "Một sản phẩm từ danh mục của Acme",
   "type": "object",

   "đặc tính": {

      "Tôi": {
         "description": "Giá trị nhận dạng duy nhất cho một sản phẩm",
         "type": "số nguyên"
      },

      "Tên": {
         "description": "Tên của sản phẩm",
         "type": "string"
      },

      "giá bán": {
         "type": "number",
         "tối thiểu": 0,
         "uniqueMinimum": true
      }
   },

   "bắt buộc": ["id", "tên", "giá"]
}

Hãy kiểm tra các từ khóa quan trọng khác nhau có thể được sử dụng trong lược đồ này –

Sr.No.
Từ khóa & amp; Sự mô tả

1

$ schema

Từ khóa $ schema cho biết rằng lược đồ này được viết theo đặc điểm kỹ thuật phiên bản nháp.

2

tiêu đề

Bạn sẽ sử dụng cái này để đặt tiêu đề cho giản đồ của mình.

3

mô tả

Mô tả một chút về lược đồ.

4

loại

Từ khóa type xác định ràng buộc đầu tiên đối với dữ liệu JSON của chúng tôi: nó phải là một Đối tượng JSON.

5

thuộc tính

Xác định các khóa khác nhau và các loại giá trị của chúng, các giá trị tối thiểu và tối đa sẽ được sử dụng trong tệp JSON.

6

bắt buộc

Điều này lưu giữ danh sách các thuộc tính bắt buộc.

7

tối thiểu

Đây là ràng buộc được đặt trên giá trị và thể hiện giá trị tối thiểu có thể chấp nhận được.

số 8

độc quyền Tối thiểu

Nếu có “uniqueMinimum” và có giá trị boolean true, thì trường hợp đó sẽ hợp lệ nếu nó lớn hơn giá trị của “tối thiểu”.

9

tối đa

Đây là ràng buộc được đặt trên giá trị và thể hiện giá trị tối đa có thể chấp nhận được.

10

Độc quyền Tối đa

Nếu có “uniqueMaximum” và có giá trị boolean true, thì trường hợp hợp lệ nếu nó thấp hơn giá trị của “tối đa”.

11

multipleOf

Một phiên bản số hợp lệ với “multipleOf” nếu kết quả của phép chia phiên bản cho giá trị của từ khóa này là một số nguyên.

12

maxLength

Độ dài của một phiên bản chuỗi được xác định là số ký tự tối đa của nó.

13

minLength

Độ dài của một phiên bản chuỗi được xác định là số ký tự tối thiểu của nó.

14

mẫu

Một phiên bản chuỗi được coi là hợp lệ nếu biểu thức chính quy khớp với phiên bản đó thành công.

Bạn có thể kiểm tra http://json-schema.org để biết danh sách đầy đủ các từ khóa có thể được sử dụng để xác định giản đồ JSON. Lược đồ trên có thể được sử dụng để kiểm tra tính hợp lệ của mã JSON sau –

[
   {
      "id": 2,
      "name": "Một tác phẩm điêu khắc trên băng",
      "giá": 12,50,
   },

   {
      "id": 3,
      "name": "Một con chuột màu xanh",
      "giá": 25,50,
   }
]

JSON – So sánh với XML

JSON và XML là các định dạng con người có thể đọc được và không phụ thuộc vào ngôn ngữ. Cả hai đều có hỗ trợ tạo, đọc và giải mã trong các tình huống thực tế. Chúng tôi có thể so sánh JSON với XML, dựa trên các yếu tố sau –

Chi tiết

XML dài dòng hơn JSON, vì vậy việc viết JSON cho lập trình viên sẽ nhanh hơn.

Sử dụng Mảng

XML được sử dụng để mô tả dữ liệu có cấu trúc, dữ liệu này không bao gồm các mảng trong khi JSON bao gồm các mảng.

Phân tích cú pháp

Phương thức của JavaScript phân tích cú pháp JSON. Khi được áp dụng cho JSON, eval trả về đối tượng được mô tả.

Ví dụ

Các ví dụ riêng lẻ về XML và JSON –

JSON

{
   "công ty": Volkswagen,
   "name": "Vento",
   "giá": 800000
}

XML

& lt; xe hơi & gt;
   & lt; công ty & gt; Volkswagen & lt; / company & gt;
   & lt; tên & gt; Vento & lt; / name & gt;
   & lt; price & gt; 800000 & lt; / price & gt;
& lt; / car & gt;

JSON với PHP

Chương này trình bày cách mã hóa và giải mã các đối tượng JSON bằng ngôn ngữ lập trình PHP. Hãy bắt đầu với việc chuẩn bị môi trường để bắt đầu lập trình với PHP cho JSON.

Môi trường

Kể từ PHP 5.2.0, tiện ích mở rộng JSON được đóng gói và biên dịch sang PHP theo mặc định.

Các hàm JSON

Hàm số
Thư viện

json_encode
Trả về biểu diễn JSON của một giá trị.

json_decode
Giải mã một chuỗi JSON.

json_last_error
Trả về lỗi cuối cùng đã xảy ra.

Mã hóa JSON bằng PHP (json_encode)

Hàm json_encode () trong PHP được sử dụng để mã hóa JSON trong PHP. Hàm này trả về biểu diễn JSON của một giá trị khi thành công hoặc FALSE khi thất bại.

Cú pháp

string json_encode ($ value [, $ options = 0])

Tham số

  • giá trị – Giá trị đang được mã hóa. Chức năng này chỉ hoạt động với dữ liệu được mã hóa UTF-8.

  • tùy chọn – Giá trị tùy chọn này là một mặt nạ bit bao gồm JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT.

Ví dụ

Ví dụ sau cho thấy cách chuyển đổi một mảng thành JSON bằng PHP –

& lt;? php
   $ arr = array ('a' = & gt; 1, 'b' = & gt; 2, 'c' = & gt; 3, 'd' = & gt; 4, 'e' = & gt; 5);
   echo json_encode ($ arr);
? & gt;

Trong khi thực thi, điều này sẽ tạo ra kết quả sau –

{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}

Ví dụ sau cho thấy cách các đối tượng PHP có thể được chuyển đổi thành JSON –

& lt;? php
   lớp Emp {
      public $ name = "";
      public $ hobbies = "";
      public $ Birthdate = "";
   }

   $ e = new Emp ();
   $ e- & gt; name = "sachin";
   $ e- & gt; hobbies = "sports";
   $ e- & gt; Birthdate = date ('m / d / Y h: i: s a', "8/5/1974 12:20:03 p");
   $ e- & gt; Birthdate = date ('m / d / Y h: i: s a', strtotime ("8/5/1974 12:20:03"));

   echo json_encode ($ e);
? & gt;

Trong khi thực thi, điều này sẽ tạo ra kết quả sau –

{"name": "sachin", "hobbies": "sports", "Birthdate": "08 \ / 05 \ / 1974 12:20:03 pm"}

Giải mã JSON trong PHP (json_decode)

Hàm json_decode () trong PHP được sử dụng để giải mã JSON trong PHP. Hàm này trả về giá trị được giải mã từ json sang kiểu PHP thích hợp.

Xem Thêm  Tải lên tệp bằng HTML - tải lên tệp biểu mẫu html

Cú pháp

json_decode hỗn hợp ($ json [, $ assoc = false [, $ depth = 512 [, $ options = 0]]])

Paramaters

  • json_string – Đây là một chuỗi được mã hóa phải là dữ liệu được mã hóa UTF-8.

  • assoc – Đây là một tham số kiểu boolean, khi được đặt thành TRUE, các đối tượng trả về sẽ được chuyển đổi thành mảng liên kết.

  • độ sâu – Đây là một tham số kiểu số nguyên chỉ định độ sâu đệ quy

  • tùy chọn – Đây là một bitmask loại số nguyên của bộ giải mã JSON, JSON_BIGINT_AS_STRING được hỗ trợ.

Ví dụ

Ví dụ sau cho thấy cách PHP có thể được sử dụng để giải mã các đối tượng JSON –

& lt;? php
   $ json = '{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}';

   var_dump (json_decode ($ json));
   var_dump (json_decode ($ json, true));
? & gt;

Trong khi thực thi, nó sẽ tạo ra kết quả sau –

đối tượng (stdClass) # 1 (5) {
   ["a"] = & gt; int (1)
   ["b"] = & gt; int (2)
   ["c"] = & gt; int (3)
   ["d"] = & gt; int (4)
   ["e"] = & gt; int (5)
}

mảng (5) {
   ["a"] = & gt; int (1)
   ["b"] = & gt; int (2)
   ["c"] = & gt; int (3)
   ["d"] = & gt; int (4)
   ["e"] = & gt; int (5)
}

JSON với Perl

Chương này trình bày cách mã hóa và giải mã các đối tượng JSON bằng ngôn ngữ lập trình Perl. Hãy bắt đầu với việc chuẩn bị môi trường để bắt đầu lập trình của chúng ta với Perl cho JSON.

Môi trường

Trước khi bắt đầu mã hóa và giải mã JSON bằng Perl, bạn cần cài đặt mô-đun JSON, có thể lấy mô-đun này từ CPAN. Sau khi bạn tải xuống JSON-2.53.tar.gz hoặc bất kỳ phiên bản mới nhất nào khác, hãy làm theo các bước được đề cập bên dưới –

$ tar xvfz JSON-2.53.tar.gz
$ cd JSON-2.53
$ perl Makefile.PL
$ make
$ thực hiện cài đặt

Các hàm JSON

Hàm số
Thư viện

encode_json
Chuyển đổi cấu trúc dữ liệu Perl đã cho thành chuỗi nhị phân, được mã hóa UTF-8.

decode_json
Giải mã một chuỗi JSON.

to_json
Chuyển đổi cấu trúc dữ liệu Perl đã cho thành một chuỗi json.

from_json
Mong đợi một chuỗi json và cố gắng phân tích cú pháp nó, trả về tham chiếu kết quả.

convert_blessed
Sử dụng hàm này với giá trị true để Perl có thể sử dụng phương thức TO_JSON trên lớp của đối tượng để chuyển đổi một đối tượng thành JSON.

Mã hóa JSON trong Perl (encode_json)

Hàm Perl encode_json () chuyển đổi cấu trúc dữ liệu Perl đã cho thành chuỗi nhị phân, được mã hóa UTF-8.

Cú pháp

$ json_text = encode_json ($ perl_scalar);
hoặc
$ json_text = JSON- & gt; new- & gt; utf8- & gt; encode ($ perl_scalar);

Ví dụ

Ví dụ sau cho thấy các mảng trong JSON với Perl –

#! / usr / bin / perl
sử dụng JSON;

% rec_hash của tôi = ('a' = & gt; 1, 'b' = & gt; 2, 'c' = & gt; 3, 'd' = & gt; 4, 'e' = & gt; 5);
của tôi $ json = encode_json \% rec_hash;
in "$ json \ n";

Trong khi thực thi, điều này sẽ tạo ra kết quả sau –

{"e": 5, "c": 3, "a": 1, "b": 2, "d": 4}

Ví dụ sau cho thấy cách các đối tượng Perl có thể được chuyển đổi thành JSON –

#! / usr / bin / perl

gói Emp;
sub mới {
   $ class = shift của tôi;

   $ self = {
      tên = & gt; sự thay đổi,
      sở thích = & gt; sự thay đổi,
      ngày sinh = & gt; sự thay đổi,
   };

   chúc phúc cho $ tự, ​​$ hạng;
   trả lại $ self;
}

sub TO_JSON {return {% {shift ()}}; }

gói chính;
sử dụng JSON;

$ JSON = JSON- & gt; new- & gt; utf8;
$ JSON- & gt; convert_blessed (1);

$ e = new Emp ("sachin", "sports", "8/5/1974 12:20:03 chiều");
$ json = $ JSON- & gt; mã hóa ($ e);
in "$ json \ n";

Khi thực thi, nó sẽ tạo ra kết quả sau –

{"Birthdate": "8/5/1974 12:20:03 pm", "name": "sachin", "hobbies": "sports"}

Giải mã JSON trong Perl (decode_json)

Hàm perl decode_json () được sử dụng để giải mã JSON trong Perl. Hàm này trả về giá trị được giải mã từ json thành kiểu Perl thích hợp.

Cú pháp

$ perl_scalar = decode_json $ json_text
hoặc
$ perl_scalar = JSON- & gt; new- & gt; utf8- & gt; decode ($ json_text)

Ví dụ

Ví dụ sau đây cho thấy cách Perl có thể được sử dụng để giải mã các đối tượng JSON. Tại đây, bạn sẽ cần cài đặt mô-đun Data :: Dumper nếu bạn chưa có mô-đun này trên máy của mình.

#! / usr / bin / perl
sử dụng JSON;
sử dụng Data :: Dumper;

$ json = '{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}';

$ text = decode_json ($ json);
print Dumper ($ text);

Khi thực thi, nó sẽ tạo ra kết quả sau –

$ VAR1 = {
   'e' = & gt; 5,
   'c' = & gt; 3,
   'a' = & gt; 1,
   'b' = & gt; 2,
   'd' = & gt; 4
};

JSON với Python

Chương này trình bày cách mã hóa và giải mã các đối tượng JSON bằng ngôn ngữ lập trình Python. Hãy bắt đầu với việc chuẩn bị môi trường để bắt đầu lập trình với Python cho JSON.

Môi trường

Trước khi bắt đầu mã hóa và giải mã JSON bằng Python, bạn cần cài đặt bất kỳ mô-đun JSON nào có sẵn. Đối với hướng dẫn này, chúng tôi đã tải xuống và cài đặt Demjson như sau –

$ tar xvfz demjson-1.6.tar.gz
$ cd demjson-1.6
$ python setup.py cài đặt

Các hàm JSON

Hàm số
Thư viện

mã hóa
Mã hóa đối tượng Python thành biểu diễn chuỗi JSON.

giải mã
Giải mã một chuỗi được mã hóa JSON thành một đối tượng Python.

Mã hóa JSON bằng Python (mã hóa)

Hàm encode () trong Python mã hóa đối tượng Python thành biểu diễn chuỗi JSON.

Cú pháp

demjson.encode (self, obj, nest_level = 0)

Ví dụ

Ví dụ sau cho thấy các mảng trong JSON với Python.

#! / usr / bin / python
nhập demjson

data = [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]

json = demjson.encode (dữ liệu)
in json

Trong khi thực thi, điều này sẽ tạo ra kết quả sau –

[{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]

Giải mã JSON bằng Python (giải mã)

Python có thể sử dụng hàm demjson.decode () để giải mã JSON. Hàm này trả về giá trị được giải mã từ json sang kiểu Python thích hợp.

Cú pháp

demjson.decode (self, txt)

Ví dụ

Ví dụ sau cho thấy cách Python có thể được sử dụng để giải mã các đối tượng JSON.

#! / usr / bin / python
nhập demjson

json = '{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}';

text = demjson.decode (json)
in văn bản

Khi thực thi, nó sẽ tạo ra kết quả sau –

{u'a ': 1, u'c': 3, u'b ': 2, u'e': 5, u'd ': 4}

JSON với Ruby

Chương này trình bày cách mã hóa và giải mã các đối tượng JSON bằng ngôn ngữ lập trình Ruby. Hãy bắt đầu với việc chuẩn bị môi trường để bắt đầu lập trình với Ruby cho JSON.

Môi trường

Trước khi bắt đầu mã hóa và giải mã JSON bằng Ruby, bạn cần cài đặt bất kỳ mô-đun JSON nào có sẵn cho Ruby. Bạn có thể cần cài đặt Ruby gem, nhưng nếu bạn đang chạy phiên bản Ruby mới nhất thì bạn phải cài đặt gem trên máy của mình, nếu không, hãy làm theo bước đơn sau đây giả sử bạn đã cài đặt gem –

$ gem install json

Phân tích cú pháp JSON bằng Ruby

Ví dụ sau đây cho thấy rằng 2 khóa đầu tiên giữ các giá trị chuỗi và 3 khóa cuối cùng giữ các mảng chuỗi. Hãy giữ nội dung sau trong một tệp có tên là input.json .

{
   "Chủ tịch": "Alan Isaac",
   "Giám đốc điều hành": "David Richardson",
  
   "Ấn Độ": [
      "Sachin Tendulkar",
      "Virender Sehwag",
      "Gautam Gambhir"
   ],

   "Srilanka": [
      "Lasith Malinga",
      "Angelo Mathews",
      "Kumar Sangakkara"
   ],

   "Nước Anh": [
      "Alastair Cook",
      "Jonathan Trott",
      "Kevin Pietersen"
   ]

}

Dưới đây là một chương trình Ruby sẽ được sử dụng để phân tích cú pháp tài liệu JSON được đề cập ở trên –

#! / usr / bin / ruby
yêu cầu 'rubygems'
yêu cầu 'json'
yêu cầu 'pp'

json = File.read ('input.json')
obj = JSON.parse (json)

pp obj

Khi thực thi, nó sẽ tạo ra kết quả sau –

{
   "Tổng thống" = & gt; "Alan Isaac",
   "Giám đốc điều hành" = & gt; "David Richardson",

   "Ấn Độ" = & gt;
   ["Sachin Tendulkar", "Virender Sehwag", "Gautam Gambhir"],

   "Srilanka" = & gt;
   ["Lasith Malinga", "Angelo Mathews", "Kumar Sangakkara"],

   "Anh" = & gt;
   ["Alastair Cook", "Jonathan Trott", "Kevin Pietersen"]
}

JSON với Java

Chương này trình bày cách mã hóa và giải mã các đối tượng JSON bằng ngôn ngữ lập trình Java. Hãy bắt đầu với việc chuẩn bị môi trường để bắt đầu lập trình với Java cho JSON.

Môi trường

Trước khi bắt đầu mã hóa và giải mã JSON bằng Java, bạn cần cài đặt bất kỳ mô-đun JSON nào có sẵn. Đối với hướng dẫn này, chúng tôi đã tải xuống và cài đặt JSON.simple và đã thêm vị trí của json-simple-1.1.1.jar tệp vào biến môi trường CLASSPATH.

Ánh xạ giữa các thực thể JSON và Java

JSON.simple ánh xạ các đối tượng từ bên trái sang bên phải khi giải mã hoặc phân tích cú pháp và ánh xạ các đối tượng từ bên phải sang bên trái khi mã hóa.

JSON
Java

sợi dây
java.lang.String

con số
java.lang.Number

đúng | sai
java.lang.Boolean

vô giá trị
vô giá trị

mảng
java.util.List

sự vật
java.util.Map

Khi giải mã, lớp cụ thể mặc định là và lớp cụ thể mặc định là.

Mã hóa JSON trong Java

Sau đây là một ví dụ đơn giản để mã hóa một đối tượng JSON bằng cách sử dụng Java JSONObject, một lớp con của java.util.HashMap. Không có đơn đặt hàng được cung cấp. Nếu bạn cần thứ tự nghiêm ngặt của các phần tử, hãy sử dụng phương thức JSONValue.toJSONString (bản đồ) với triển khai bản đồ có thứ tự như java.util.LinkedHashMap.

nhập org.json.simple.JSONObject;

lớp JsonEncodeDemo {

   public static void main (String [] args) {
      JSONObject obj = new JSONObject ();

      obj.put ("tên", "foo");
      obj.put ("num", new Integer (100));
      obj.put ("số dư", new Double (1000,21));
      obj.put ("is_vip", new Boolean (true));

      System.out.print (obj);
   }
}

Khi biên dịch và thực thi chương trình trên, kết quả sau sẽ được tạo ra –

{"balance": 1000.21, "num": 100, "is_vip": true, "name": "foo"}

Sau đây là một ví dụ khác cho thấy luồng đối tượng JSON sử dụng Java JSONObject –

nhập org.json.simple.JSONObject;

lớp JsonEncodeDemo {

   public static void main (String [] args) {

      JSONObject obj = new JSONObject ();

      obj.put ("tên", "foo");
      obj.put ("num", new Integer (100));
      obj.put ("số dư", new Double (1000,21));
      obj.put ("is_vip", new Boolean (true));

      StringWriter out = new StringWriter ();
      obj.writeJSONString (hết);
      
      String jsonText = out.toString ();
      System.out.print (jsonText);
   }
}

Khi biên dịch và thực thi chương trình trên, kết quả sau được tạo ra –

{"balance": 1000.21, "num": 100, "is_vip": true, "name": "foo"}

Giải mã JSON trong Java

Ví dụ sau sử dụng JSONObject JSONArray trong đó JSONObject là java.util.Map và JSONArray là java.util.List, vì vậy bạn có thể truy cập chúng với các hoạt động tiêu chuẩn của Bản đồ hoặc Danh sách.

nhập org.json.simple.JSONObject;
nhập org.json.simple.JSONArray;
nhập org.json.simple.parser.ParseException;
nhập org.json.simple.parser.JSONParser;

lớp JsonDecodeDemo {

   public static void main (String [] args) {

      JSONParser parser = new JSONParser ();
      Chuỗi s = "[0, {\" 1 \ ": {\" 2 \ ": {\" 3 \ ": {\" 4 \ ": [5, {\" 6 \ ": 7}]}} }}] ";

      thử{
         Đối tượng obj = parser.parse (s);
         Mảng JSONArray = (JSONArray) obj;

         System.out.println ("Phần tử thứ 2 của mảng");
         System.out.println (array.get (1));
         System.out.println ();

         JSONObject obj2 = (JSONObject) array.get (1);
         System.out.println ("Trường \" 1 \ "");
         System.out.println (obj2.get ("1"));

         s = "{}";
         obj = parser.parse (s);
         System.out.println (obj);

         s = "[5,]";
         obj = parser.parse (s);
         System.out.println (obj);

         s = "[5,, 2]";
         obj = parser.parse (s);
         System.out.println (obj);
      } catch (ParseException pe) {

         System.out.println ("vị trí:" + pe.getPosition ());
         System.out.println (pe);
      }
   }
}

Khi biên dịch và thực thi chương trình trên, kết quả sau sẽ được tạo ra –

Phần tử thứ 2 của mảng
{"1": {"2": {"3": {"4": [5, {"6": 7}]}}}}

Trường "1"
{"2": {"3": {"4": [5, {"6": 7}]}}}
{}
[5]
[5,2]

JSON với Ajax

AJAX là JavaScript và XML không đồng bộ, được sử dụng ở phía máy khách như một nhóm các kỹ thuật phát triển web có liên quan với nhau, để tạo các ứng dụng web không đồng bộ. Theo mô hình AJAX, các ứng dụng web có thể gửi và truy xuất dữ liệu từ máy chủ một cách không đồng bộ mà không ảnh hưởng đến việc hiển thị và hoạt động của trang hiện có.

Xem Thêm  Thuộc tính màu đường viền CSS - javascript css viền màu

Nhiều nhà phát triển sử dụng JSON để chuyển các bản cập nhật AJAX giữa máy khách và máy chủ. Các trang web cập nhật tỷ số thể thao trực tiếp có thể được coi là một ví dụ của AJAX. Nếu những điểm số này phải được cập nhật trên trang web, thì chúng phải được lưu trữ trên máy chủ để trang web có thể lấy điểm khi nó được yêu cầu. Đây là nơi chúng tôi có thể sử dụng dữ liệu có định dạng JSON.

Mọi dữ liệu được cập nhật bằng AJAX đều có thể được lưu trữ bằng định dạng JSON trên máy chủ web. AJAX được sử dụng để javascript có thể truy xuất các tệp JSON này khi cần thiết, phân tích cú pháp và thực hiện một trong các thao tác sau –

  • Lưu trữ các giá trị đã phân tích cú pháp trong các biến để xử lý thêm trước khi hiển thị chúng trên trang web.

  • Nó trực tiếp gán dữ liệu cho các phần tử DOM trong trang web để chúng được hiển thị trên trang web.

Ví dụ

Đoạn mã sau hiển thị JSON với AJAX. Lưu nó dưới dạng tệp ajax.htm . Ở đây, hàm tải loadJSON () được sử dụng không đồng bộ để tải lên dữ liệu JSON.

& lt; html & gt;
   & lt; đầu & gt;
      & lt; meta content = "text / html; charset = ISO-8859-1" http-equiv = "content-type" & gt;

      & lt; script type = "application / javascript" & gt;
         hàm loadJSON () {
            var data_file = "http://www.tutorialspoint.com/json/data.json";
            var http_request = new XMLHttpRequest ();
            thử{
               // Opera 8.0+, Firefox, Chrome, Safari
               http_request = new XMLHttpRequest ();
            } bắt (e) {
               // Trình duyệt Internet Explorer
               thử{
                  http_request = new ActiveXObject ("Msxml2.XMLHTTP");

               } bắt (e) {

                  thử{
                     http_request = new ActiveXObject ("Microsoft.XMLHTTP");
                  } bắt (e) {
                     // Đã xảy ra sự cố
                     alert ("Trình duyệt của bạn bị hỏng!");
                     trả về sai;
                  }

               }
            }

            http_request.onreadystatechange = function () {

               if (http_request.readyState == 4) {
                  // Hàm Javascript JSON.parse để phân tích cú pháp dữ liệu JSON
                  var jsonObj = JSON.parse (http_request.responseText);

                  // biến jsonObj hiện chứa cấu trúc dữ liệu và có thể
                  // được truy cập với tên jsonObj.name và jsonObj.country.
                  document.getElementById ("Tên"). innerHTML = jsonObj.name;
                  document.getElementById ("Quốc gia"). innerHTML = jsonObj.country;
               }
            }

            http_request.open ("GET", data_file, true);
            http_request.send ();
         }

      & lt; / script & gt;

      & lt; title & gt; tutorialspoint.com JSON & lt; / title & gt;
   & lt; / head & gt;

   & lt; body & gt;
      & lt; h1 & gt; Chi tiết về Cricketer & lt; / h1 & gt;

      & lt; table class = "src" & gt;
         & lt; tr & gt; & lt; th & gt; Tên & lt; / th & gt; & lt; th & gt; Quốc gia & lt; / th & gt; & lt; / tr & gt;
         & lt; tr & gt; & lt; td & gt; & lt; div id = "Name" & gt; Sachin & lt; / div & gt; & lt; / td & gt;
         & lt; td & gt; & lt; div id = "Country" & gt; India & lt; / div & gt; & lt; / td & gt; & lt; / tr & gt;
      & lt; / table & gt;

      & lt; div class = "central" & gt;
         & lt; button type = "button" onclick = "loadJSON ()" & gt; Cập nhật Chi tiết & lt; / button & gt;
      & lt; / div & gt;

   & lt; / body & gt;

& lt; / html & gt;

Dưới đây là tệp đầu vào data.json , có dữ liệu ở định dạng JSON sẽ được tải lên không đồng bộ khi chúng tôi nhấp vào nút Chi tiết Cập nhật . Tệp này đang được lưu giữ trong http://www.tutorialspoint.com/json/

{"name": "Brett", "country": "Australia"}

Đoạn mã HTML ở trên sẽ tạo ra màn hình sau, nơi bạn có thể kiểm tra AJAX đang hoạt động –

Chi tiết về người chơi cricket

Tên
Quốc gia

Sachin

Ấn Độ

Khi bạn nhấp vào nút Cập nhật Chi tiết , bạn sẽ nhận được kết quả như sau. Bạn có thể tự mình thử JSON với AJAX , miễn là trình duyệt của bạn hỗ trợ Javascript.

Chi tiết về người chơi cricket

Tên
Quốc gia

Brett

Úc

Quảng cáo


Xem thêm những thông tin liên quan đến chủ đề mã json là gì

Learn JSON – Full Crash Course for Beginners

  • Tác giả: freeCodeCamp.org
  • Ngày đăng: 2018-12-03
  • Đánh giá: 4 ⭐ ( 4573 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Learn everything you need to know about JSON in 10 minutes.

    You will learn:
    – what JSON is,
    – why JSON is important,
    – what JSON is used for,
    – the syntax of JSON,
    – and see multiple examples of JSON.

    JSON (JavaScript Object Notation) is the most popular data representation format, and is one of the most important, and easiest concepts you can learn in programming. It allows you to create APIs, config files, and structured data. We will be covering all of the terminology, and going through live examples of all the different JSON types.

    Tutorial created by Web Dev Simplified. Check out their channel for more great content: https://www.youtube.com/channel/UCFbNIlppjAuEX4znoulh0Cw

    Twitter: https://twitter.com/DevSimplified

    Learn to code for free and get a developer job: https://www.freecodecamp.org

    Read hundreds of articles on programming: https://medium.freecodecamp.org

    And subscribe for new videos on technology every day: https://youtube.com/subscription_center?add_user=freecodecamp

JSON là gì? Cấu trúc chuỗi JSON

  • Tác giả: freetuts.net
  • Đánh giá: 4 ⭐ ( 3062 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khái niệm json là gì và tìm hiểu cấu trúc chuội JSOn căn bản đến nâng cao, tìm hiểu cấu trúc chuỗi JSON và khái niệm JSON là gì và các ví dụ của nó

Hiểu rõ về JSON là gì? Cách lấy dữ liệu từ JSON

  • Tác giả: topdev.vn
  • Đánh giá: 4 ⭐ ( 7694 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: JSON là viết tắt của JavaScript Object Notation, là một kiểu định dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được. JSON là một tiêu chuẩn mở để trao đổi dữ liệu trên web.

[JSON Là Gì] – Tìm hiểu JSON qua các ví dụ cụ thể

  • Tác giả: vietnix.vn
  • Đánh giá: 3 ⭐ ( 2448 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bạn đã nghe đến thuật ngữ JSON? Nhưng không biết JSON từ đâu, cú pháp hay cấu trúc JSON như thế nào? Bài viết này, giúp bạn nắm được JSON là gì qua các ví dụ cụ thể.

JSON Là Gì và Sử Dụng JSON Như Thế Nào

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 5 ⭐ ( 9576 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về một kiểu định dạng dữ liệu được sử dụng rất phổ biến trong việc phát triển ứng dụng đó là JSON. Vì tính phổ biến của JSON nên gần như nếu bạn gặp một developer có k…

Json là gì? Những điều các lập trình viên nên biết về Json File?

  • Tác giả: teky.edu.vn
  • Đánh giá: 3 ⭐ ( 1277 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Json là gì đang là chủ đề được rất nhiều bạn trẻ quan tâm. Hiểu được điều này, chúng tôi đã tổng hợp tất cả thông tin trong bài viết hôm nay.

Tìm hiểu về json web token (JWT)

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 1452 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: JSON Web Token là gì?

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php