Hướng dẫn how do i access json in mysql? - làm cách nào để truy cập json trong mysql?
MySQL hỗ trợ kiểu dữ liệu 4 gốc được xác định bởi RFC 7159 cho phép truy cập hiệu quả vào dữ liệu trong các tài liệu JSON (ký hiệu đối tượng JavaScript). Kiểu dữ liệu 4 cung cấp các lợi thế này so với việc lưu trữ các chuỗi định dạng JSON trong một cột chuỗi:
MySQL 8.0 cũng hỗ trợ định dạng bản vá hợp nhất JSON được xác định trong RFC 7396, sử dụng hàm 8. Xem mô tả của chức năng này, cũng như bình thường hóa, hợp nhất và tự động phát hiện các giá trị JSON, để biết các ví dụ và thông tin thêm.JSON Merge Patch format defined in
RFC 7396, using the 8 function. See the description of this function, as well as Normalization, Merging, and Autowrapping of JSON
Values, for examples and further information. Ghi chú Cuộc thảo luận này sử dụng 4 trong monotype để chỉ ra cụ thể loại dữ liệu JSON và JSON JSON, trong phông chữ thông thường để chỉ ra dữ liệu JSON nói chung.“JSON” in regular font to indicate JSON data in general. Không gian cần thiết để lưu trữ một tài liệu 4 gần giống như đối với 1 hoặc 2; Xem Phần & NBSP; 11.7, Yêu cầu lưu trữ kiểu dữ liệu, để biết thêm thông tin. Điều quan trọng là phải nhớ rằng kích thước của bất kỳ tài liệu JSON nào được lưu trữ trong cột 4 bị giới hạn ở giá trị của biến hệ thống 4. . Lưu ý rằng đối với cột 4, kích thước lưu trữ và do đó giá trị được trả về bởi hàm này, được sử dụng bởi cột trước khi cập nhật một phần có thể được thực hiện trên đó (xem thảo luận về tối ưu hóa một phần JSON sau này Phần này).Trước MySQL 8.0.13, cột 4 không thể có giá trị mặc định không phải -____ ____ 68.Cùng với kiểu dữ liệu 4, một tập hợp các hàm SQL có sẵn để cho phép các hoạt động trên các giá trị JSON, chẳng hạn như tạo, thao tác và tìm kiếm. Các cuộc thảo luận sau đây cho thấy các ví dụ về các hoạt động này. Để biết chi tiết về các chức năng riêng lẻ, xem Phần & NBSP; 12,18, Chức năng của JSON.Một tập hợp các chức năng không gian để vận hành trên các giá trị Geojson cũng có sẵn. Xem Phần & NBSP; 12.17.11, Chức năng Geojson không gian. Các cột 4, giống như các cột của các loại nhị phân khác, không được lập chỉ mục trực tiếp; Thay vào đó, bạn có thể tạo một chỉ mục trên một cột được tạo trích xuất giá trị vô hướng từ cột 4. Xem lập chỉ mục một cột được tạo để cung cấp chỉ mục cột JSON, để biết ví dụ chi tiết.Trình tối ưu hóa MySQL cũng tìm kiếm các chỉ mục tương thích trên các cột ảo phù hợp với các biểu thức JSON. Trong MySQL 8.0.17 trở lên, công cụ lưu trữ 2 hỗ trợ các chỉ mục đa giá trị trên các mảng JSON. Xem các chỉ mục đa giá trị.MySQL NDB Cluster 8.0 hỗ trợ các chức năng 4 và các chức năng JSON của MySQL, bao gồm tạo một chỉ mục trên một cột được tạo từ cột 4 dưới dạng cách giải quyết để không thể lập chỉ mục cột 4. Tối đa 3 cột 4 mỗi bảng 7 được hỗ trợ.Cập nhật một phần của các giá trị JSONTrong MySQL 8.0, trình tối ưu hóa có thể thực hiện cập nhật một phần, tại chỗ của cột 4 thay vì xóa tài liệu cũ và viết toàn bộ tài liệu mới vào cột. Tối ưu hóa này có thể được thực hiện để cập nhật đáp ứng các điều kiện sau:
Các bản cập nhật một phần như vậy có thể được ghi vào nhật ký nhị phân bằng cách sử dụng định dạng nhỏ gọn giúp tiết kiệm không gian; Điều này có thể được bật bằng cách đặt biến hệ thống 0 thành 1.Điều quan trọng là phải phân biệt cập nhật một phần của giá trị cột 4 được lưu trữ trong bảng từ việc viết bản cập nhật một phần của một hàng vào nhật ký nhị phân. Có thể cập nhật hoàn chỉnh cột 4 được ghi lại trong nhật ký nhị phân dưới dạng cập nhật một phần. Điều này có thể xảy ra khi một trong hai (hoặc cả hai) của hai điều kiện cuối cùng từ danh sách trước đó không được đáp ứng nhưng các điều kiện khác được thỏa mãn.Xem thêm mô tả của 0.Một vài phần tiếp theo cung cấp thông tin cơ bản liên quan đến việc tạo và thao tác các giá trị JSON. Tạo giá trị JSONMột mảng JSON chứa một danh sách các giá trị được phân tách bằng dấu phẩy và được đặt trong phạm vi 5 và 6:
Một đối tượng JSON chứa một tập hợp các cặp giá trị khóa được phân tách bằng dấu phẩy và được đặt trong các ký tự 7 và 8:
Như các ví dụ minh họa, các mảng và đối tượng JSON có thể chứa các giá trị vô hướng là chuỗi hoặc số, chữ JSON NULL theo nghĩa đen hoặc chữ JSON boolean đúng hoặc sai. Chìa khóa trong các đối tượng JSON phải là chuỗi. Các giá trị vô hướng tạm thời (ngày, giờ hoặc DateTime) cũng được cho phép:
Nesting được phép trong các phần tử mảng JSON và giá trị khóa đối tượng JSON:
Bạn cũng có thể lấy các giá trị JSON từ một số hàm do MySQL cung cấp cho mục đích này (xem Phần & NBSP; 12.18.2, các hàm tạo ra các giá trị JSON) cũng như bằng cách sử dụng các giá trị của các loại khác vào loại 4 ) (xem chuyển đổi giữa các giá trị JSON và không phải là JSON). Một số đoạn tiếp theo mô tả cách MySQL xử lý các giá trị JSON được cung cấp dưới dạng đầu vào.Trong MySQL, các giá trị JSON được viết dưới dạng chuỗi. MySQL phân tích bất kỳ chuỗi nào được sử dụng trong bối cảnh yêu cầu giá trị JSON và tạo ra lỗi nếu nó không hợp lệ là JSON. Các bối cảnh này bao gồm chèn một giá trị vào một cột có kiểu dữ liệu 4 và chuyển một đối số cho một hàm mong đợi giá trị JSON (thường được hiển thị là 02 hoặc 03 trong tài liệu cho các hàm JSON của MySQL), như các ví dụ sau đây chứng minh:
MySQL xử lý các chuỗi được sử dụng trong bối cảnh JSON bằng cách sử dụng bộ ký tự 07 và đối chiếu 08. Các chuỗi trong các bộ ký tự khác được chuyển đổi thành 07 khi cần thiết. .Thay thế cho việc viết các giá trị JSON bằng cách sử dụng các chuỗi theo nghĩa đen, các hàm tồn tại để soạn các giá trị JSON từ các phần tử thành phần. 15 lấy danh sách các giá trị (có thể trống) và trả về mảng JSON chứa các giá trị đó:
16 lấy một danh sách (có thể trống) của các cặp giá trị khóa và trả về một đối tượng JSON chứa các cặp đó:
17 lấy hai hoặc nhiều tài liệu JSON và trả về kết quả kết hợp:
Để biết thông tin về các quy tắc hợp nhất, hãy xem chuẩn hóa, hợp nhất và tự động ra các giá trị JSON. . Các giá trị JSON có thể được gán cho các biến do người dùng xác định:
Tuy nhiên, các biến do người dùng xác định không thể thuộc loại dữ liệu 4, do đó, mặc dù 20 trong ví dụ trước trông giống như giá trị JSON và có cùng một bộ ký tự và đối chiếu là giá trị JSON, nhưng nó không có kiểu dữ liệu 4. Thay vào đó, kết quả từ 16 được chuyển đổi thành một chuỗi khi được gán cho biến.not have the 4 data type. Instead, the result from 16 is converted to a string when assigned to the variable. Các chuỗi được tạo ra bằng cách chuyển đổi các giá trị JSON có một bộ ký tự là 07 và đối chiếu 08: 0Bởi vì 08 là một đối chiếu nhị phân, so sánh các giá trị JSON nhạy cảm với trường hợp. 1Độ nhạy của trường hợp cũng áp dụng cho JSON 26, 27 và 28, luôn phải được viết bằng chữ thường: 2Độ nhạy của trường hợp của các chữ JSON khác với SQL 8, 30 và 31, có thể được viết trong bất kỳ chữ cái nào: 3Đôi khi có thể cần thiết hoặc mong muốn để chèn các ký tự trích dẫn ( 32 hoặc 33) vào tài liệu JSON. Giả sử cho ví dụ này rằng bạn muốn chèn một số đối tượng JSON chứa các chuỗi đại diện cho các câu nêu một số sự thật về MySQL, mỗi đối tượng được ghép nối với một từ khóa thích hợp, vào một bảng được tạo bằng câu lệnh SQL được hiển thị ở đây: 4Trong số các cặp từ khóa này là cái này: 5Một cách để chèn đây là đối tượng JSON vào bảng 34 là sử dụng hàm MySQL 16. Trong trường hợp này, bạn phải thoát khỏi từng ký tự trích dẫn bằng cách sử dụng dấu gạch chéo ngược, như được hiển thị ở đây: 6Điều này không hoạt động theo cùng một cách nếu bạn chèn giá trị là một đối tượng JSON theo nghĩa đen, trong trường hợp đó, bạn phải sử dụng chuỗi thoát hiểm gấp đôi, như thế này: 7Sử dụng Double Backslash giúp MySQL thực hiện xử lý trình tự thoát, và thay vào đó khiến nó chuyển chuỗi theo nghĩa đen cho công cụ lưu trữ để xử lý. Sau khi chèn đối tượng JSON theo một trong hai cách vừa hiển thị, bạn có thể thấy rằng các dấu gạch chéo ngược có mặt trong giá trị cột JSON bằng cách thực hiện một 36 đơn giản, như thế này: 8Để tra cứu câu cụ thể này sử dụng 37 làm khóa, bạn có thể sử dụng toán tử đường dẫn cột 38, như được hiển thị ở đây: 9Điều này để lại các dấu gạch chéo ngược, cùng với các dấu ngoặc kép xung quanh. Để hiển thị giá trị mong muốn bằng cách sử dụng 37 làm khóa, nhưng không bao gồm các dấu ngoặc kép xung quanh hoặc bất kỳ lối thoát nào, hãy sử dụng toán tử đường dẫn nội tuyến 40, như thế này: 0Ghi chú Ví dụ trước không hoạt động như được hiển thị nếu chế độ SQL máy chủ 41 được bật. Nếu chế độ này được đặt, một dấu gạch chéo ngược thay vì có thể sử dụng các dấu gạch chéo ngược gấp đôi để chèn theo nghĩa đen của đối tượng JSON và các dấu gạch chéo ngược được bảo tồn. Nếu bạn sử dụng chức năng 16 khi thực hiện chèn và chế độ này được đặt, bạn phải xen kẽ các trích dẫn đơn và đôi, như thế này: 1Xem mô tả của hàm 43 để biết thêm thông tin về tác động của chế độ này đối với các ký tự đã thoát trong các giá trị JSON.Chuẩn hóa, hợp nhất và tự động ra giá trị JSONKhi một chuỗi được phân tích cú pháp và được tìm thấy là một tài liệu JSON hợp lệ, nó cũng được chuẩn hóa. Điều này có nghĩa là các thành viên có các khóa sao chép một khóa được tìm thấy sau này trong tài liệu, đọc từ trái sang phải, bị loại bỏ. Giá trị đối tượng được tạo bởi cuộc gọi 16 sau đây chỉ bao gồm phần tử 45 thứ hai vì tên khóa đó xảy ra trước đó trong giá trị, như được hiển thị ở đây: 2Chuẩn hóa cũng được thực hiện khi các giá trị được chèn vào các cột JSON, như được hiển thị ở đây: 3Hành vi chính của bản sao cuối cùng của người Viking này được đề xuất bởi RFC 7159 và được thực hiện bởi hầu hết các trình phân tích cú pháp JavaScript. (Lỗi #86866, lỗi #26369555)“last duplicate key wins” behavior is suggested by RFC 7159 and is implemented by most JavaScript parsers. (Bug #86866, Bug #26369555) Trong các phiên bản của MySQL trước 8.0.3, các thành viên có khóa đã nhân đôi một khóa được tìm thấy trước đó trong tài liệu đã bị loại bỏ. Giá trị đối tượng được tạo bởi cuộc gọi 16 sau không bao gồm phần tử 45 thứ hai vì tên khóa đó xảy ra trước đó trong giá trị: 4Trước MySQL 8.0.3, khóa bản sao đầu tiên này giành được sự chuẩn hóa của Wins cũng được thực hiện khi chèn các giá trị vào các cột JSON.“first duplicate key wins” normalization was also performed when inserting values into JSON columns. 5MySQL cũng loại bỏ thêm khoảng trắng giữa các khóa, giá trị hoặc các phần tử trong tài liệu JSON gốc và lá (hoặc chèn, khi cần thiết) một không gian sau mỗi dấu phẩy ( 48) hoặc ruột kết ( 49) khi hiển thị nó. Điều này được thực hiện để tăng cường khả năng đọc.Các hàm MySQL tạo ra các giá trị JSON (xem Phần & NBSP; 12.18.2, các hàm tạo ra các giá trị JSON) luôn trả về các giá trị chuẩn hóa. Để làm cho tra cứu hiệu quả hơn, MySQL cũng sắp xếp các phím của đối tượng JSON. Bạn nên lưu ý rằng kết quả của việc đặt hàng này có thể thay đổi và không được đảm bảo là nhất quán giữa các bản phát hành.You should be aware that the result of this ordering is subject to change and not guaranteed to be consistent across releases. Hợp nhất các giá trị JSONHai thuật toán hợp nhất được hỗ trợ trong MySQL 8.0.3 (và sau đó), được thực hiện bởi các chức năng 17 và 8. Chúng khác nhau về cách chúng xử lý các khóa trùng lặp: 17 giữ lại các giá trị cho các khóa trùng lặp, trong khi 8 loại bỏ tất cả trừ giá trị cuối cùng. Một vài đoạn tiếp theo giải thích cách mỗi hai chức năng này xử lý việc hợp nhất các kết hợp khác nhau của các tài liệu JSON (nghĩa là, của các đối tượng và mảng).Ghi chú
17 giống như hàm 55 được tìm thấy trong các phiên bản trước của MySQL (được đổi tên trong MySQL 8.0.3). 55 vẫn được hỗ trợ dưới dạng bí danh cho 17 trong MySQL 8.0, nhưng không được chấp nhận và có thể loại bỏ trong một bản phát hành trong tương lai.Hợp nhất các mảng. & Nbsp; Trong các bối cảnh kết hợp nhiều mảng, các mảng được hợp nhất thành một mảng duy nhất. 17 does this by concatenating arrays named later to the end of the first array. 8 considers each argument as an array consisting of a single element (thus having 0 as its index) and then applies “last duplicate key wins” logic to select only the last argument. You can compare the results shown by this query: 6Nhiều đối tượng khi hợp nhất tạo ra một đối tượng. 17 xử lý nhiều đối tượng có cùng một khóa bằng cách kết hợp tất cả các giá trị duy nhất cho khóa đó trong một mảng; Mảng này sau đó được sử dụng làm giá trị cho khóa đó trong kết quả. 8 loại bỏ các giá trị mà các khóa trùng lặp được tìm thấy, hoạt động từ trái sang phải, để kết quả chỉ chứa giá trị cuối cùng cho khóa đó. Truy vấn sau đây minh họa sự khác biệt trong kết quả cho khóa trùng lặp 62: 7Các giá trị không được sử dụng trong bối cảnh yêu cầu giá trị mảng được tự động tạo ra: giá trị được bao quanh bởi các ký tự 5 và 6 để chuyển đổi nó thành một mảng. Trong câu lệnh sau, mỗi đối số được tự động tạo thành một mảng ( 65, 66). Chúng sau đó được hợp nhất để tạo ra một mảng kết quả duy nhất; Như trong hai trường hợp trước, 17 kết hợp các giá trị có cùng một khóa trong khi 8 loại bỏ các giá trị cho tất cả các khóa trùng lặp ngoại trừ phần cuối, như được hiển thị ở đây: 8Các giá trị mảng và đối tượng được hợp nhất bằng cách tự động xử lý đối tượng như một mảng và hợp nhất các mảng bằng cách kết hợp các giá trị hoặc bởi khóa trùng lặp cuối cùng sẽ thắng được theo lựa chọn hàm hợp nhất ( 17 hoặc 8 :“last duplicate key wins” according to the choice of merging function ( 17 or 8, respectively), as can be seen in this example: 9Tìm kiếm và sửa đổi các giá trị JSONBiểu thức đường dẫn JSON chọn một giá trị trong tài liệu JSON. Biểu thức đường dẫn rất hữu ích với các chức năng trích xuất các phần hoặc sửa đổi tài liệu JSON, để chỉ định vị trí trong tài liệu đó để vận hành. Ví dụ: truy vấn sau trích xuất từ tài liệu JSON Giá trị của thành viên với khóa 71: 0Path Cú pháp sử dụng ký tự 72 hàng đầu để thể hiện tài liệu JSON đang được xem xét, theo tùy chọn theo các bộ chọn cho thấy các phần cụ thể hơn của tài liệu:
Let 72 refer to this JSON array with three elements: 2Then:
Because 97 and 99 evaluate to nonscalar values, they can be used as the basis for more-specific path expressions that select nested values. Examples:
As mentioned previously, path components that name keys must be quoted if the unquoted key name is not legal in path expressions. Let 72 refer to this value: 3The keys both contain a space and must be quoted:
Paths that use wildcards evaluate to an array that can contain multiple values: 4In the following example, the path 18 evaluates to multiple paths ( 19 and 20) and
produces an array of the matching path values: 5Ranges from JSON arrays. You can use ranges with the 21 keyword to specify subsets of JSON arrays. For example, 22 includes the second, third, and fourth elements of an array, as shown here: 6 The syntax is 81 and 05 are, respectively, the first and last indexes of a range of elements from
a JSON array. 05 must be greater than 81; 81 must be greater than or equal to 0. Array elements are indexed beginning with 0. You can use ranges in contexts where wildcards are supported. Rightmost array element. The 83 keyword is supported as a synonym for the index of the last element in an array. Expressions of the form last -
can be used for relative addressing, and
within range definitions, like this: 7If the path is evaluated against a value that is not an array, the result of the evaluation is the same as if the value had been wrapped in a single-element array: 8You can use 32-> 74 with a JSON column identifier and JSON path expression as a synonym for 34, 74). See Section 12.18.3, “Functions That Search JSON Values”, for more information. See also
Indexing a Generated Column to Provide a JSON Column Index. Some functions take an existing JSON document, modify it in some way, and return the resulting modified document. Path expressions indicate where in the document to make changes. For example, the 1, 37, and 2 functions each take a JSON document, plus one or more path-value pairs that describe where to
modify the document and the values to use. The functions differ in how they handle existing and nonexisting values within the document. Consider this document: 9
1 replaces values for paths that exist and adds values for paths that do not exist:. 0In this case, the path 40 selects an existing value ( 27), which is replaced
with the value following the path argument ( 42). The path 43 does not exist, so the corresponding value ( 44) is added to the value selected by 99.
37 adds new values but does not replace existing values: 1
2 replaces existing values and ignores new values: 2The path-value pairs are evaluated left to right. The document produced by evaluating one pair becomes the new value against which the next pair is evaluated.
3 takes a JSON document and one or more paths that specify values to be removed from the document. The return value is the
original document minus the values selected by paths that exist within the document: 3The paths have these effects:
JSON Path SyntaxMany of the JSON functions supported by MySQL and described elsewhere in this Manual (see Section 12.18, “JSON Functions”) require a path expression in order to identify a specific element in a JSON document. A path consists of the path's scope followed by one or more path legs. For paths used in MySQL JSON functions, the scope is always the document being searched or otherwise operated on, represented by a leading 72 character. Path legs are separated by period characters ( 56). Cells in arrays are represented by [ , where 05 is a non-negative integer. Names of keys must be double-quoted strings or valid ECMAScript identifiers (see Identifier Names and
Identifiers, in the ECMAScript Language Specification). Path expressions, like JSON text, should be encoded using the 10, 11, or 07 character set. Other character encodings are implicitly coerced to 07. The complete syntax is shown here: 4Như đã lưu ý trước đây, trong MySQL, phạm vi của đường dẫn luôn là tài liệu được vận hành, được biểu thị là 72. Bạn có thể sử dụng 64 làm từ đồng nghĩa với tài liệu trong biểu thức đường dẫn JSON.
Ghi chú Một số triển khai hỗ trợ tham chiếu cột cho phạm vi của đường dẫn JSON; MySQL 8.0 không hỗ trợ những điều này. Các mã thông báo đại diện 87 và 88 được sử dụng như sau:
Đối với các ví dụ về cú pháp đường dẫn, hãy xem các mô tả về các hàm JSON khác nhau lấy đường dẫn làm đối số, chẳng hạn như 77, 1 và 2. Để biết các ví dụ bao gồm việc sử dụng các ký tự đại diện 87 và 88, hãy xem mô tả của hàm 82.MySQL 8.0 cũng hỗ trợ ký hiệu phạm vi cho các tập hợp con của mảng JSON bằng cách sử dụng từ khóa 21 (chẳng hạn như 84), cũng như từ khóa 83 làm từ đồng nghĩa với phần tử ngoài cùng của mảng. Xem tìm kiếm và sửa đổi các giá trị JSON, để biết thêm thông tin và ví dụ.So sánh và đặt hàng các giá trị JSONCác giá trị JSON có thể được so sánh bằng cách sử dụng 86, 87, 88, 89, 90, 91, 92 và 93.Các toán tử và chức năng so sánh sau đây chưa được hỗ trợ với các giá trị JSON:
Một cách giải quyết cho các toán tử và chức năng so sánh chỉ được liệt kê là chuyển các giá trị JSON vào loại dữ liệu số hoặc chuỗi MySQL gốc để chúng có loại vô hướng không phải là JSON nhất quán. So sánh các giá trị JSON diễn ra ở hai cấp độ. Mức so sánh đầu tiên dựa trên các loại JSON của các giá trị so sánh. Nếu các loại khác nhau, kết quả so sánh được xác định chỉ bằng loại có ưu tiên cao hơn. Nếu hai giá trị có cùng loại JSON, mức so sánh thứ hai xảy ra bằng cách sử dụng các quy tắc cụ thể loại. Danh sách sau đây cho thấy các ưu tiên của các loại JSON, từ ưu tiên cao nhất đến thấp nhất. . Bất kỳ giá trị nào có loại JSON được liệt kê trước đó trong danh sách đều so với bất kỳ giá trị nào có loại JSON được liệt kê sau trong danh sách. 5Đối với các giá trị JSON có cùng mức độ ưu tiên, các quy tắc so sánh là loại cụ thể:
Để so sánh bất kỳ giá trị JSON nào với SQL 8, kết quả là 28.Để so sánh các giá trị JSON và không phải là JSON, giá trị không phải là JSON được chuyển đổi thành JSON theo các quy tắc trong bảng sau, sau đó các giá trị được so sánh như được mô tả trước đây. Chuyển đổi giữa các giá trị JSON và không jsonBảng sau đây cung cấp một bản tóm tắt các quy tắc mà MySQL tuân theo khi sử dụng giữa các giá trị JSON và các giá trị của các loại khác: Bảng & NBSP; 11.3 & NBSP; Quy tắc chuyển đổi JSON
41 và 42 cho các giá trị JSON hoạt động theo các nguyên tắc này:
Để phân loại, có thể có lợi khi đúc một vô hướng JSON cho một số loại MySQL bản địa khác. Ví dụ: nếu một cột có tên 47 chứa các đối tượng JSON có thành viên bao gồm khóa 48 và giá trị không âm, hãy sử dụng biểu thức này để sắp xếp các giá trị 48: 3Nếu có một cột được tạo được xác định để sử dụng biểu thức tương tự như trong 41, trình tối ưu hóa MySQL sẽ nhận ra điều đó và xem xét sử dụng chỉ mục cho kế hoạch thực thi truy vấn. Xem Phần & NBSP; 8.3.11, Trình tối ưu hóa sử dụng các chỉ mục cột được tạo ra.Tổng hợp các giá trị JSONĐể tổng hợp các giá trị JSON, các giá trị SQL 8 bị bỏ qua như đối với các loại dữ liệu khác. Các giá trị không-____ 68 được chuyển đổi thành loại số và tổng hợp, ngoại trừ 53, 54 và 55. Việc chuyển đổi thành số sẽ tạo ra một kết quả có ý nghĩa cho các giá trị JSON là vô hướng số, mặc dù (tùy thuộc vào giá trị) cắt và mất độ chính xác có thể xảy ra. Chuyển đổi sang số lượng các giá trị JSON khác có thể không tạo ra kết quả có ý nghĩa. |