Python kiểm tra xem JSON là mảng hay đối tượng

Google Standard SQL cho BigQuery hỗ trợ các chức năng sau, có thể truy xuất và chuyển đổi dữ liệu JSON

Tổng quan về chức năng

Các hàm trích xuất JSON tiêu chuẩn (được khuyến nghị)

Các chức năng sau sử dụng dấu ngoặc kép để thoát các ký tự JSONPath không hợp lệ.

JSON_EXTRACT(json_expr, json_path)
27

Hành vi này phù hợp với tiêu chuẩn ANSI

Hàm JSON Mô tảKiểu trả về
JSON_EXTRACT(json_expr, json_path)
28Trích xuất một giá trị JSON, chẳng hạn như một mảng hoặc đối tượng hoặc một giá trị vô hướng JSON, chẳng hạn như một chuỗi, số hoặc boolean. Định dạng JSON
JSON_EXTRACT(json_expr, json_path)
29 hoặc
JSON_EXTRACT(json_expr, json_path)
30_______031Trích xuất một giá trị vô hướng. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Loại bỏ các trích dẫn ngoài cùng và bỏ qua các giá trị. Trả về SQL
JSON_EXTRACT(json_expr, json_path)
32 nếu giá trị không vô hướng được chọn.
JSON_EXTRACT(json_expr, json_path)
29
JSON_EXTRACT(json_expr, json_path)
34Trích xuất một mảng các giá trị JSON, chẳng hạn như mảng hoặc đối tượng và các giá trị vô hướng JSON, chẳng hạn như chuỗi, số và booleans.
JSON_EXTRACT(json_expr, json_path)
35 hoặc
JSON_EXTRACT(json_expr, json_path)
36______037Trích xuất một mảng các giá trị vô hướng. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Loại bỏ các trích dẫn ngoài cùng và bỏ qua các giá trị. Trả về một SQL
JSON_EXTRACT(json_expr, json_path)
32 nếu giá trị được chọn không phải là một mảng hoặc không phải là một mảng chỉ chứa các giá trị vô hướng.
JSON_EXTRACT(json_expr, json_path)
39

Các hàm trích xuất JSON kế thừa

Các hàm sau sử dụng dấu ngoặc đơn và dấu ngoặc đơn để thoát các ký tự JSONPath không hợp lệ.

JSON_EXTRACT(json_expr, json_path)
40

Mặc dù các hàm này được Google Standard SQL hỗ trợ, chúng tôi khuyên bạn nên sử dụng các hàm trong bảng trước

Hàm JSONMô tảKiểu trả về
JSON_EXTRACT(json_expr, json_path)
41Trích xuất một giá trị JSON, chẳng hạn như một mảng hoặc đối tượng hoặc một giá trị vô hướng JSON, chẳng hạn như một chuỗi, số hoặc boolean. Định dạng JSON
JSON_EXTRACT(json_expr, json_path)
29 hoặc
JSON_EXTRACT(json_expr, json_path)
30_______044Trích xuất một giá trị vô hướng. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Loại bỏ các trích dẫn ngoài cùng và bỏ qua các giá trị. Trả về SQL
JSON_EXTRACT(json_expr, json_path)
32 nếu giá trị không vô hướng được chọn.
JSON_EXTRACT(json_expr, json_path)
29
JSON_EXTRACT(json_expr, json_path)
47Trích xuất một mảng các giá trị JSON, chẳng hạn như mảng hoặc đối tượng và các giá trị vô hướng JSON, chẳng hạn như chuỗi, số và booleans.
JSON_EXTRACT(json_expr, json_path)
35 hoặc
JSON_EXTRACT(json_expr, json_path)
36______050Trích xuất một mảng các giá trị vô hướng. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Loại bỏ các trích dẫn ngoài cùng và bỏ qua các giá trị. Trả về một SQL
JSON_EXTRACT(json_expr, json_path)
32 nếu giá trị được chọn không phải là một mảng hoặc không phải là một mảng chỉ chứa các giá trị vô hướng.
JSON_EXTRACT(json_expr, json_path)
39

Các hàm JSON khác

Hàm JSONMô tảKiểu trả về
JSON_EXTRACT(json_expr, json_path)
53Nhận một chuỗi có định dạng JSON và trả về một giá trị JSON.
JSON_EXTRACT(json_expr, json_path)
30
JSON_EXTRACT(json_expr, json_path)
55Nhận một giá trị SQL và trả về một giá trị JSON.
JSON_EXTRACT(json_expr, json_path)
30
JSON_EXTRACT(json_expr, json_path)
57Nhận một giá trị SQL và trả về một biểu diễn chuỗi có định dạng JSON của giá trị. Định dạng JSON
JSON_EXTRACT(json_expr, json_path)
29____029Trích xuất một chuỗi từ JSON.
JSON_EXTRACT(json_expr, json_path)
29
JSON_EXTRACT(json_expr, json_path)
61Trích xuất một boolean từ JSON.
JSON_EXTRACT(json_expr, json_path)
61
JSON_EXTRACT(json_expr, json_path)
63Trích xuất số nguyên 64 bit từ JSON.
JSON_EXTRACT(json_expr, json_path)
63
JSON_EXTRACT(json_expr, json_path)
65Trích xuất số dấu phẩy động 64 bit từ JSON.
JSON_EXTRACT(json_expr, json_path)
65
JSON_EXTRACT(json_expr, json_path)
67Trả về loại giá trị JSON ngoài cùng dưới dạng chuỗi.
JSON_EXTRACT(json_expr, json_path)
29

JSON_EXTRACT(json_expr, json_path) 41

JSON_EXTRACT(json_expr, json_path)
3
JSON_EXTRACT(json_expr, json_path)

Sự miêu tả

Trích xuất một giá trị JSON, chẳng hạn như một mảng hoặc đối tượng hoặc một giá trị vô hướng JSON, chẳng hạn như một chuỗi, số hoặc boolean. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, thì bạn có thể thoát các ký tự đó bằng dấu ngoặc đơn và dấu ngoặc đơn

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6

    Trích xuất SQL

    JSON_EXTRACT(json_expr, json_path)
    
    32 khi gặp chuỗi định dạng JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    9
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1

    Trích xuất một JSON

    JSON_EXTRACT(json_expr, json_path)
    
    72 khi gặp một JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72

    JSON_EXTRACT(json_expr, json_path)
    
    4
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào

loại trả lại

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một
    JSON_EXTRACT(json_expr, json_path)
    
    29 có định dạng JSON
  • JSON_EXTRACT(json_expr, json_path)
    
    73.
    JSON_EXTRACT(json_expr, json_path)
    
    30

ví dụ

Trong ví dụ sau, dữ liệu JSON được trích xuất và trả về dưới dạng JSON

JSON_EXTRACT(json_expr, json_path)
0

Trong các ví dụ sau, dữ liệu JSON được trích xuất và trả về dưới dạng chuỗi có định dạng JSON

JSON_EXTRACT(json_expr, json_path)
1
JSON_EXTRACT(json_expr, json_path)
2
JSON_EXTRACT(json_expr, json_path)
3
JSON_EXTRACT(json_expr, json_path)
0
JSON_EXTRACT(json_expr, json_path)
1
JSON_EXTRACT(json_expr, json_path)
2

JSON_EXTRACT(json_expr, json_path) 28

JSON_EXTRACT(json_expr, json_path)
3____04

Sự miêu tả

Trích xuất một giá trị JSON, chẳng hạn như một mảng hoặc đối tượng hoặc một giá trị vô hướng JSON, chẳng hạn như một chuỗi, số hoặc boolean. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, thì bạn có thể thoát các ký tự đó bằng dấu ngoặc kép

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6

    Trích xuất SQL

    JSON_EXTRACT(json_expr, json_path)
    
    32 khi gặp chuỗi định dạng JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1

    Trích xuất một JSON

    JSON_EXTRACT(json_expr, json_path)
    
    72 khi gặp một JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72

    JSON_EXTRACT(json_expr, json_path)
    
    8
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào

loại trả lại

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một
    JSON_EXTRACT(json_expr, json_path)
    
    29 có định dạng JSON
  • JSON_EXTRACT(json_expr, json_path)
    
    73.
    JSON_EXTRACT(json_expr, json_path)
    
    30

ví dụ

Trong ví dụ sau, dữ liệu JSON được trích xuất và trả về dưới dạng JSON

JSON_EXTRACT(json_expr, json_path)
9

Trong các ví dụ sau, dữ liệu JSON được trích xuất và trả về dưới dạng chuỗi có định dạng JSON

JSON_EXTRACT(json_expr, json_path)
60______461____462
JSON_EXTRACT(json_expr, json_path)
63
JSON_EXTRACT(json_expr, json_path)
64
JSON_EXTRACT(json_expr, json_path)
65

JSON_EXTRACT(json_expr, json_path) 44

JSON_EXTRACT(json_expr, json_path)
66
JSON_EXTRACT(json_expr, json_path)
67

Sự miêu tả

Trích xuất một giá trị vô hướng và sau đó trả về nó dưới dạng một chuỗi. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Loại bỏ các trích dẫn ngoài cùng và bỏ qua các giá trị trả về. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, thì bạn có thể thoát các ký tự đó bằng dấu ngoặc đơn và dấu ngoặc đơn

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào. Nếu thông số tùy chọn này không được cung cấp thì ký hiệu JSONPath
    JSON_EXTRACT(json_expr, json_path)
    
    97 sẽ được áp dụng, có nghĩa là tất cả dữ liệu được phân tích

    Nếu

    JSON_EXTRACT(json_expr, json_path)
    
    76 trả về một JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72 hoặc một giá trị không vô hướng (nói cách khác, nếu
    JSON_EXTRACT(json_expr, json_path)
    
    76 đề cập đến một đối tượng hoặc một mảng), thì một SQL
    JSON_EXTRACT(json_expr, json_path)
    
    32 được trả về

loại trả lại

JSON_EXTRACT(json_expr, json_path)
29

ví dụ

Trong ví dụ sau,

JSON_EXTRACT(json_expr, json_path)
603 được trích xuất

JSON_EXTRACT(json_expr, json_path)
90

Ví dụ sau so sánh cách kết quả được trả về cho các hàm

JSON_EXTRACT(json_expr, json_path)
41 và
JSON_EXTRACT(json_expr, json_path)
44

JSON_EXTRACT(json_expr, json_path)
91
JSON_EXTRACT(json_expr, json_path)
92

Trong trường hợp khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát các ký tự đó bằng dấu ngoặc đơn và dấu ngoặc đơn,

JSON_EXTRACT(json_expr, json_path)
606. Ví dụ

JSON_EXTRACT(json_expr, json_path)
93

JSON_EXTRACT(json_expr, json_path) 31

JSON_EXTRACT(json_expr, json_path)
94
JSON_EXTRACT(json_expr, json_path)
95

Sự miêu tả

Trích xuất một giá trị vô hướng và sau đó trả về nó dưới dạng một chuỗi. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Loại bỏ các trích dẫn ngoài cùng và bỏ qua các giá trị trả về. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, thì bạn có thể thoát các ký tự đó bằng dấu ngoặc kép

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào. Nếu thông số tùy chọn này không được cung cấp thì ký hiệu JSONPath
    JSON_EXTRACT(json_expr, json_path)
    
    97 sẽ được áp dụng, có nghĩa là tất cả dữ liệu được phân tích

    Nếu

    JSON_EXTRACT(json_expr, json_path)
    
    76 trả về một JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72 hoặc một giá trị không vô hướng (nói cách khác, nếu
    JSON_EXTRACT(json_expr, json_path)
    
    76 đề cập đến một đối tượng hoặc một mảng), thì một SQL
    JSON_EXTRACT(json_expr, json_path)
    
    32 được trả về

loại trả lại

JSON_EXTRACT(json_expr, json_path)
29

ví dụ

Trong ví dụ sau, dữ liệu JSON được trích xuất và trả về dưới dạng giá trị vô hướng

JSON_EXTRACT(json_expr, json_path)
98

Ví dụ sau so sánh cách kết quả được trả về cho các hàm

JSON_EXTRACT(json_expr, json_path)
28 và
JSON_EXTRACT(json_expr, json_path)
31

JSON_EXTRACT(json_expr, json_path)
99
JSON_EXTRACT(json_expr, json_path)
10

Trong trường hợp khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát các ký tự đó bằng dấu ngoặc kép. Ví dụ

JSON_EXTRACT(json_expr, json_path)
11

JSON_EXTRACT(json_expr, json_path) 47

JSON_EXTRACT(json_expr, json_path)
12
JSON_EXTRACT(json_expr, json_path)
13

Sự miêu tả

Trích xuất một mảng các giá trị JSON, chẳng hạn như mảng hoặc đối tượng và các giá trị vô hướng JSON, chẳng hạn như chuỗi, số và booleans. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, thì bạn có thể thoát các ký tự đó bằng dấu ngoặc đơn và dấu ngoặc đơn

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào. Nếu thông số tùy chọn này không được cung cấp thì ký hiệu JSONPath
    JSON_EXTRACT(json_expr, json_path)
    
    97 sẽ được áp dụng, có nghĩa là tất cả dữ liệu được phân tích

loại trả lại

  • JSON_EXTRACT(json_expr, json_path)
    
    70.
    JSON_EXTRACT(json_expr, json_path)
    
    35
  • JSON_EXTRACT(json_expr, json_path)
    
    73.
    JSON_EXTRACT(json_expr, json_path)
    
    36

ví dụ

Thao tác này trích xuất các mục trong JSON thành một mảng gồm các giá trị

JSON_EXTRACT(json_expr, json_path)
30

JSON_EXTRACT(json_expr, json_path)
16

Thao tác này trích xuất các mục trong chuỗi có định dạng JSON thành một mảng chuỗi

JSON_EXTRACT(json_expr, json_path)
17

Điều này trích xuất một mảng chuỗi và chuyển đổi nó thành một mảng số nguyên

JSON_EXTRACT(json_expr, json_path)
18

Điều này trích xuất các giá trị chuỗi trong một chuỗi có định dạng JSON thành một mảng

JSON_EXTRACT(json_expr, json_path)
19

Điều này chỉ trích xuất các mục trong thuộc tính

JSON_EXTRACT(json_expr, json_path)
629 thành một mảng

JSON_EXTRACT(json_expr, json_path)
40

Đây là tương đương

JSON_EXTRACT(json_expr, json_path)
41

Trong trường hợp khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát các ký tự đó bằng dấu ngoặc đơn và dấu ngoặc đơn,

JSON_EXTRACT(json_expr, json_path)
606. Ví dụ

JSON_EXTRACT(json_expr, json_path)
42

Các ví dụ sau khám phá cách xử lý các yêu cầu không hợp lệ và mảng trống

  • Nếu JSONPath không hợp lệ, sẽ xảy ra lỗi
  • Nếu một chuỗi định dạng JSON không hợp lệ, đầu ra là NULL
  • Có thể có các mảng trống trong chuỗi định dạng JSON
JSON_EXTRACT(json_expr, json_path)
43

JSON_EXTRACT(json_expr, json_path) 34

JSON_EXTRACT(json_expr, json_path)
44
JSON_EXTRACT(json_expr, json_path)
45

Sự miêu tả

Trích xuất một mảng các giá trị JSON, chẳng hạn như mảng hoặc đối tượng và các giá trị vô hướng JSON, chẳng hạn như chuỗi, số và booleans. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, thì bạn có thể thoát các ký tự đó bằng dấu ngoặc kép

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào. Nếu thông số tùy chọn này không được cung cấp thì ký hiệu JSONPath
    JSON_EXTRACT(json_expr, json_path)
    
    97 sẽ được áp dụng, có nghĩa là tất cả dữ liệu được phân tích

loại trả lại

  • JSON_EXTRACT(json_expr, json_path)
    
    70.
    JSON_EXTRACT(json_expr, json_path)
    
    35
  • JSON_EXTRACT(json_expr, json_path)
    
    73.
    JSON_EXTRACT(json_expr, json_path)
    
    36

ví dụ

Thao tác này trích xuất các mục trong JSON thành một mảng gồm các giá trị

JSON_EXTRACT(json_expr, json_path)
30

JSON_EXTRACT(json_expr, json_path)
48

Thao tác này trích xuất các mục trong chuỗi có định dạng JSON thành một mảng chuỗi

JSON_EXTRACT(json_expr, json_path)
49

Điều này trích xuất một mảng chuỗi và chuyển đổi nó thành một mảng số nguyên

JSON_EXTRACT(json_expr, json_path)
00

Điều này trích xuất các giá trị chuỗi trong một chuỗi có định dạng JSON thành một mảng

JSON_EXTRACT(json_expr, json_path)
01

Điều này chỉ trích xuất các mục trong thuộc tính

JSON_EXTRACT(json_expr, json_path)
629 thành một mảng

JSON_EXTRACT(json_expr, json_path)
02

Đây là tương đương

JSON_EXTRACT(json_expr, json_path)
03

Trong trường hợp khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát các ký tự đó bằng dấu ngoặc kép.

JSON_EXTRACT(json_expr, json_path)
642. Ví dụ

JSON_EXTRACT(json_expr, json_path)
04

Các ví dụ sau đây cho thấy cách xử lý các yêu cầu không hợp lệ và mảng trống

JSON_EXTRACT(json_expr, json_path)
05

JSON_EXTRACT(json_expr, json_path) 50

JSON_EXTRACT(json_expr, json_path)
06
JSON_EXTRACT(json_expr, json_path)
07

Sự miêu tả

Trích xuất một mảng các giá trị vô hướng và trả về một mảng các giá trị vô hướng có định dạng chuỗi. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát khỏi các ký tự đó bằng cách sử dụng dấu ngoặc đơn và dấu ngoặc đơn

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào. Nếu thông số tùy chọn này không được cung cấp thì ký hiệu JSONPath
    JSON_EXTRACT(json_expr, json_path)
    
    97 sẽ được áp dụng, có nghĩa là tất cả dữ liệu được phân tích

Hãy cẩn thận

  • Một JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72 trong mảng đầu vào tạo ra một SQL
    JSON_EXTRACT(json_expr, json_path)
    
    32 làm đầu ra cho JSON đó
    JSON_EXTRACT(json_expr, json_path)
    
    72. Nếu đầu ra chứa một phần tử mảng
    JSON_EXTRACT(json_expr, json_path)
    
    32, thì sẽ xảy ra lỗi vì đầu ra cuối cùng không thể là một mảng có giá trị
    JSON_EXTRACT(json_expr, json_path)
    
    32
  • Nếu JSONPath khớp với một mảng chứa các đối tượng vô hướng và JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72, thì đầu ra của hàm phải được chuyển đổi vì đầu ra cuối cùng không thể là một mảng có giá trị
    JSON_EXTRACT(json_expr, json_path)
    
    32

loại trả lại

JSON_EXTRACT(json_expr, json_path)
39

ví dụ

Điều này trích xuất các mục trong JSON thành một mảng chuỗi

JSON_EXTRACT(json_expr, json_path)
10

Ví dụ sau so sánh cách kết quả được trả về cho các hàm

JSON_EXTRACT(json_expr, json_path)
47 và
JSON_EXTRACT(json_expr, json_path)
50

JSON_EXTRACT(json_expr, json_path)
11

Thao tác này trích xuất các mục trong chuỗi có định dạng JSON thành một mảng chuỗi

JSON_EXTRACT(json_expr, json_path)
12

Điều này trích xuất một mảng chuỗi và chuyển đổi nó thành một mảng số nguyên

JSON_EXTRACT(json_expr, json_path)
13

Đây là tương đương

JSON_EXTRACT(json_expr, json_path)
14

Trong trường hợp khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát các ký tự đó bằng dấu ngoặc đơn và dấu ngoặc đơn.

JSON_EXTRACT(json_expr, json_path)
606. Ví dụ

JSON_EXTRACT(json_expr, json_path)
15

Các ví dụ sau khám phá cách xử lý các yêu cầu không hợp lệ và mảng trống

JSON_EXTRACT(json_expr, json_path)
16

JSON_EXTRACT(json_expr, json_path) 37

JSON_EXTRACT(json_expr, json_path)
17____618

Sự miêu tả

Trích xuất một mảng các giá trị vô hướng và trả về một mảng các giá trị vô hướng có định dạng chuỗi. Một giá trị vô hướng có thể đại diện cho một chuỗi, số hoặc boolean. Nếu khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát các ký tự đó bằng dấu ngoặc kép

  • JSON_EXTRACT(json_expr, json_path)
    
    70. Một chuỗi có định dạng JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    6
  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    1
  • JSON_EXTRACT(json_expr, json_path)
    
    76. Đường dẫn JSON. Điều này xác định dữ liệu mà bạn muốn lấy từ đầu vào. Nếu thông số tùy chọn này không được cung cấp thì ký hiệu JSONPath
    JSON_EXTRACT(json_expr, json_path)
    
    97 sẽ được áp dụng, có nghĩa là tất cả dữ liệu được phân tích

Hãy cẩn thận

  • Một JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72 trong mảng đầu vào tạo ra một SQL
    JSON_EXTRACT(json_expr, json_path)
    
    32 làm đầu ra cho JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72. Nếu đầu ra chứa một phần tử mảng
    JSON_EXTRACT(json_expr, json_path)
    
    32, thì sẽ xảy ra lỗi vì đầu ra cuối cùng không thể là một mảng có giá trị
    JSON_EXTRACT(json_expr, json_path)
    
    32
  • Nếu JSONPath khớp với một mảng chứa các đối tượng vô hướng và JSON
    JSON_EXTRACT(json_expr, json_path)
    
    72, thì đầu ra của hàm phải được chuyển đổi vì đầu ra cuối cùng không thể là một mảng có giá trị
    JSON_EXTRACT(json_expr, json_path)
    
    32

loại trả lại

JSON_EXTRACT(json_expr, json_path)
39

ví dụ

Điều này trích xuất các mục trong JSON thành một mảng chuỗi

JSON_EXTRACT(json_expr, json_path)
21

Ví dụ sau so sánh cách kết quả được trả về cho các hàm

JSON_EXTRACT(json_expr, json_path)
34 và
JSON_EXTRACT(json_expr, json_path)
37

JSON_EXTRACT(json_expr, json_path)
22

Thao tác này trích xuất các mục trong chuỗi có định dạng JSON thành một mảng chuỗi

JSON_EXTRACT(json_expr, json_path)
23

Điều này trích xuất một mảng chuỗi và chuyển đổi nó thành một mảng số nguyên

JSON_EXTRACT(json_expr, json_path)
24

Đây là tương đương

JSON_EXTRACT(json_expr, json_path)
25

Trong trường hợp khóa JSON sử dụng các ký tự JSONPath không hợp lệ, bạn có thể thoát các ký tự đó bằng dấu ngoặc kép.

JSON_EXTRACT(json_expr, json_path)
642. Ví dụ

JSON_EXTRACT(json_expr, json_path)
26

Các ví dụ sau khám phá cách xử lý các yêu cầu không hợp lệ và mảng trống

JSON_EXTRACT(json_expr, json_path)
27

JSON_EXTRACT(json_expr, json_path) 53

JSON_EXTRACT(json_expr, json_path)
28

Sự miêu tả

Nhận một giá trị SQL

JSON_EXTRACT(json_expr, json_path)
29 và trả về một giá trị SQL
JSON_EXTRACT(json_expr, json_path)
30. Giá trị
JSON_EXTRACT(json_expr, json_path)
29 đại diện cho giá trị JSON có định dạng chuỗi

Hàm này hỗ trợ một đối số có tên bắt buộc tùy chọn có tên là

JSON_EXTRACT(json_expr, json_path)
679 xác định cách xử lý các số không thể lưu trữ trong giá trị
JSON_EXTRACT(json_expr, json_path)
30 mà không làm mất độ chính xác. Nếu được sử dụng,
JSON_EXTRACT(json_expr, json_path)
679 phải bao gồm một trong các giá trị này

  • JSON_EXTRACT(json_expr, json_path)
    
    682. Chỉ chấp nhận các số có thể được lưu trữ mà không làm giảm độ chính xác. Nếu gặp phải một số không thể lưu trữ mà không làm mất độ chính xác, hàm sẽ đưa ra lỗi
  • JSON_EXTRACT(json_expr, json_path)
    
    683. Nếu gặp phải một số không thể lưu trữ mà không làm mất độ chính xác, hãy thử làm tròn số đó thành một số có thể được lưu trữ mà không làm mất độ chính xác. Nếu không làm tròn số thì hàm báo lỗi

Nếu

JSON_EXTRACT(json_expr, json_path)
679 không được sử dụng, chức năng bao gồm ngầm định
JSON_EXTRACT(json_expr, json_path)
685. Nếu một số xuất hiện trong một đối tượng hoặc mảng JSON, thì đối số
JSON_EXTRACT(json_expr, json_path)
679 được áp dụng cho số đó trong đối tượng hoặc mảng

Các số từ các miền sau có thể được lưu trữ trong JSON mà không làm giảm độ chính xác

  • Số nguyên có dấu/không dấu 64 bit, chẳng hạn như
    JSON_EXTRACT(json_expr, json_path)
    
    63
  • JSON_EXTRACT(json_expr, json_path)
    
    65

loại trả lại

JSON_EXTRACT(json_expr, json_path)
30

ví dụ

Trong ví dụ sau, một chuỗi có định dạng JSON được chuyển đổi thành

JSON_EXTRACT(json_expr, json_path)
30

JSON_EXTRACT(json_expr, json_path)
29

Các truy vấn sau không thành công vì

  • Số đã được chuyển vào không thể được lưu trữ mà không làm mất độ chính xác
  • JSON_EXTRACT(json_expr, json_path)
    
    685 được sử dụng hoàn toàn trong truy vấn đầu tiên và rõ ràng trong truy vấn thứ hai
JSON_EXTRACT(json_expr, json_path)
30

Truy vấn sau làm tròn số thành một số có thể được lưu trữ trong JSON

JSON_EXTRACT(json_expr, json_path)
31

JSON_EXTRACT(json_expr, json_path) 55

JSON_EXTRACT(json_expr, json_path)
32

Sự miêu tả

Nhận một giá trị SQL và trả về một giá trị JSON. Giá trị phải là loại dữ liệu SQL Chuẩn của Google được hỗ trợ. Bạn có thể xem lại các loại dữ liệu SQL Chuẩn của Google mà chức năng này hỗ trợ và mã hóa JSON của chúng tại đây

Hàm này hỗ trợ một đối số có tên bắt buộc tùy chọn có tên là

JSON_EXTRACT(json_expr, json_path)
693

  • Nếu đối số này là
    JSON_EXTRACT(json_expr, json_path)
    
    694, các giá trị số bên ngoài miền loại
    JSON_EXTRACT(json_expr, json_path)
    
    65 được mã hóa dưới dạng chuỗi
  • Nếu đối số này không được sử dụng hoặc là
    JSON_EXTRACT(json_expr, json_path)
    
    696, thì các giá trị số bên ngoài miền loại
    JSON_EXTRACT(json_expr, json_path)
    
    65 không được mã hóa dưới dạng chuỗi nhưng được lưu trữ dưới dạng số JSON. Nếu một giá trị số không thể được lưu trữ trong JSON mà không làm mất độ chính xác, thì sẽ xảy ra lỗi

Các loại dữ liệu số sau đây bị ảnh hưởng bởi đối số

JSON_EXTRACT(json_expr, json_path)
693

  • JSON_EXTRACT(json_expr, json_path)
    
    63
  • JSON_EXTRACT(json_expr, json_path)
    
    900
  • JSON_EXTRACT(json_expr, json_path)
    
    901

Nếu một trong các loại dữ liệu số này xuất hiện trong một loại dữ liệu vùng chứa, chẳng hạn như

JSON_EXTRACT(json_expr, json_path)
902 hoặc
JSON_EXTRACT(json_expr, json_path)
903, thì đối số
JSON_EXTRACT(json_expr, json_path)
693 được áp dụng cho các loại dữ liệu số trong loại dữ liệu vùng chứa

loại trả lại

Một giá trị JSON

ví dụ

Trong ví dụ sau, truy vấn chuyển đổi các hàng trong bảng thành giá trị JSON

JSON_EXTRACT(json_expr, json_path)
33

Trong ví dụ sau, truy vấn trả về một giá trị số lớn dưới dạng chuỗi JSON

JSON_EXTRACT(json_expr, json_path)
34

Trong ví dụ sau, cả hai truy vấn đều trả về một giá trị số lớn dưới dạng số JSON

JSON_EXTRACT(json_expr, json_path)
35

Trong ví dụ sau, chỉ các giá trị số lớn mới được chuyển thành chuỗi JSON

JSON_EXTRACT(json_expr, json_path)
36

Trong ví dụ này, các giá trị

JSON_EXTRACT(json_expr, json_path)
905 (
JSON_EXTRACT(json_expr, json_path)
63) và
JSON_EXTRACT(json_expr, json_path)
907 (
JSON_EXTRACT(json_expr, json_path)
65) được chuyển đổi thành siêu kiểu chung
JSON_EXTRACT(json_expr, json_path)
65, không bị ảnh hưởng bởi đối số
JSON_EXTRACT(json_expr, json_path)
693

JSON_EXTRACT(json_expr, json_path)
37

JSON_EXTRACT(json_expr, json_path) 57

JSON_EXTRACT(json_expr, json_path)
38

Sự miêu tả

Nhận một giá trị SQL và trả về một biểu diễn chuỗi có định dạng JSON của giá trị. Giá trị phải là loại dữ liệu SQL Chuẩn của Google được hỗ trợ. Bạn có thể xem lại các loại dữ liệu SQL Chuẩn của Google mà chức năng này hỗ trợ và mã hóa JSON của chúng tại đây

Hàm này hỗ trợ một tham số boolean tùy chọn có tên là

JSON_EXTRACT(json_expr, json_path)
912. Nếu
JSON_EXTRACT(json_expr, json_path)
912 là
JSON_EXTRACT(json_expr, json_path)
914, giá trị trả về được định dạng để dễ đọc

loại trả lại

Một

JSON_EXTRACT(json_expr, json_path)
29 có định dạng JSON

ví dụ

Chuyển đổi các hàng trong bảng thành các chuỗi có định dạng JSON

JSON_EXTRACT(json_expr, json_path)
39

Chuyển đổi các hàng trong bảng thành các chuỗi có định dạng JSON dễ đọc

JSON_EXTRACT(json_expr, json_path)
00

JSON_EXTRACT(json_expr, json_path) 29

JSON_EXTRACT(json_expr, json_path)
01

Sự miêu tả

Lấy một biểu thức JSON, trích xuất một chuỗi JSON và trả về giá trị đó dưới dạng SQL

JSON_EXTRACT(json_expr, json_path)
29. Nếu biểu thức là SQL
JSON_EXTRACT(json_expr, json_path)
32, hàm trả về SQL
JSON_EXTRACT(json_expr, json_path)
32. Nếu giá trị JSON được trích xuất không phải là một chuỗi, thì sẽ xảy ra lỗi

  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    02

loại trả lại

JSON_EXTRACT(json_expr, json_path)
29

ví dụ

JSON_EXTRACT(json_expr, json_path)
03
JSON_EXTRACT(json_expr, json_path)
04

Các ví dụ sau đây cho thấy cách xử lý các yêu cầu không hợp lệ

JSON_EXTRACT(json_expr, json_path)
05

JSON_EXTRACT(json_expr, json_path) 61

JSON_EXTRACT(json_expr, json_path)
06

Sự miêu tả

Lấy một biểu thức JSON, trích xuất một giá trị logic JSON và trả về giá trị đó dưới dạng SQL

JSON_EXTRACT(json_expr, json_path)
61. Nếu biểu thức là SQL
JSON_EXTRACT(json_expr, json_path)
32, hàm trả về SQL
JSON_EXTRACT(json_expr, json_path)
32. Nếu giá trị JSON được trích xuất không phải là giá trị boolean, thì sẽ xảy ra lỗi

  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    02

loại trả lại

JSON_EXTRACT(json_expr, json_path)
61

ví dụ

JSON_EXTRACT(json_expr, json_path)
08
JSON_EXTRACT(json_expr, json_path)
09

Các ví dụ sau đây cho thấy cách xử lý các yêu cầu không hợp lệ

JSON_EXTRACT(json_expr, json_path)
10

JSON_EXTRACT(json_expr, json_path) 63

JSON_EXTRACT(json_expr, json_path)
11

Sự miêu tả

Lấy một biểu thức JSON, trích xuất một số JSON và trả về giá trị đó dưới dạng SQL

JSON_EXTRACT(json_expr, json_path)
63. Nếu biểu thức là SQL
JSON_EXTRACT(json_expr, json_path)
32, hàm trả về SQL
JSON_EXTRACT(json_expr, json_path)
32. Nếu số JSON được trích xuất có một phần phân số hoặc nằm ngoài miền INT64, thì sẽ xảy ra lỗi

  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    02

loại trả lại

JSON_EXTRACT(json_expr, json_path)
63

ví dụ

JSON_EXTRACT(json_expr, json_path)
13
JSON_EXTRACT(json_expr, json_path)
14
JSON_EXTRACT(json_expr, json_path)
15

Các ví dụ sau đây cho thấy cách xử lý các yêu cầu không hợp lệ

JSON_EXTRACT(json_expr, json_path)
16

JSON_EXTRACT(json_expr, json_path) 65

JSON_EXTRACT(json_expr, json_path)
17

Sự miêu tả

Lấy một biểu thức JSON, trích xuất một số JSON và trả về giá trị đó dưới dạng SQL

JSON_EXTRACT(json_expr, json_path)
65. Nếu biểu thức là SQL
JSON_EXTRACT(json_expr, json_path)
32, hàm trả về SQL
JSON_EXTRACT(json_expr, json_path)
32. Nếu giá trị JSON được trích xuất không phải là một số, sẽ xảy ra lỗi

  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    02

Hàm này hỗ trợ một đối số có tên bắt buộc tùy chọn có tên là

JSON_EXTRACT(json_expr, json_path)
679 xác định điều gì sẽ xảy ra với một số không thể được biểu diễn dưới dạng FLOAT64 mà không làm mất độ chính xác

Đối số này chấp nhận một trong hai giá trị phân biệt chữ hoa chữ thường

  • 'chính xác'. Hàm không thành công nếu kết quả không thể được biểu diễn dưới dạng
    JSON_EXTRACT(json_expr, json_path)
    
    65 mà không làm mất độ chính xác
  • 'vòng'. Giá trị số được lưu trữ trong JSON sẽ được làm tròn thành
    JSON_EXTRACT(json_expr, json_path)
    
    65. Nếu không thể làm tròn như vậy, chức năng không thành công. Đây là giá trị mặc định nếu đối số không được chỉ định

loại trả lại

JSON_EXTRACT(json_expr, json_path)
65

ví dụ

JSON_EXTRACT(json_expr, json_path)
19
JSON_EXTRACT(json_expr, json_path)
20
JSON_EXTRACT(json_expr, json_path)
21
JSON_EXTRACT(json_expr, json_path)
22

Các ví dụ sau đây cho thấy cách xử lý các yêu cầu không hợp lệ

JSON_EXTRACT(json_expr, json_path)
23

JSON_EXTRACT(json_expr, json_path) 67

JSON_EXTRACT(json_expr, json_path)
24

Sự miêu tả

Nhận một biểu thức JSON và trả về loại giá trị JSON ngoài cùng dưới dạng SQL

JSON_EXTRACT(json_expr, json_path)
29. Tên của các loại JSON này có thể được trả lại

  • JSON_EXTRACT(json_expr, json_path)
    
    945
  • JSON_EXTRACT(json_expr, json_path)
    
    946
  • JSON_EXTRACT(json_expr, json_path)
    
    947
  • JSON_EXTRACT(json_expr, json_path)
    
    948
  • JSON_EXTRACT(json_expr, json_path)
    
    949
  • JSON_EXTRACT(json_expr, json_path)
    
    72

Nếu biểu thức là SQL

JSON_EXTRACT(json_expr, json_path)
32, hàm trả về SQL
JSON_EXTRACT(json_expr, json_path)
32. Nếu giá trị JSON được trích xuất không phải là loại JSON hợp lệ, sẽ xảy ra lỗi

  • JSON_EXTRACT(json_expr, json_path)
    
    73. JSON. Ví dụ

    JSON_EXTRACT(json_expr, json_path)
    
    02

loại trả lại

JSON_EXTRACT(json_expr, json_path)
29

ví dụ

JSON_EXTRACT(json_expr, json_path)
26

mã hóa JSON

Bảng sau đây bao gồm các mã hóa phổ biến được sử dụng khi giá trị SQL được mã hóa dưới dạng giá trị JSON bằng hàm

JSON_EXTRACT(json_expr, json_path)
57 hoặc
JSON_EXTRACT(json_expr, json_path)
55

Từ ví dụ SQL sang JSON NULL

vô giá trị

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
32
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
72BOOLbooleanSQL đầu vào.
JSON_EXTRACT(json_expr, json_path)
694
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
914

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
696
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
962
INT64

(chỉ TO_JSON_STRING)

số hoặc chuỗi

Được mã hóa dưới dạng số khi giá trị nằm trong phạm vi [-253, 253], là phạm vi số nguyên có thể được biểu diễn không mất dữ liệu dưới dạng số dấu phẩy động có độ chính xác kép IEEE 754. Một giá trị bên ngoài phạm vi này được mã hóa thành một chuỗi

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
963
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
963

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
905
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
966
INT64

(chỉ TO_JSON)

số hoặc chuỗi

Nếu đối số

JSON_EXTRACT(json_expr, json_path)
693 là
JSON_EXTRACT(json_expr, json_path)
694 và giá trị nằm ngoài miền loại FLOAT64, thì giá trị được mã hóa dưới dạng chuỗi. Nếu giá trị không thể được lưu trữ trong JSON mà không làm mất độ chính xác, hàm sẽ không thành công. Mặt khác, giá trị được mã hóa dưới dạng số

Nếu

JSON_EXTRACT(json_expr, json_path)
693 không được sử dụng hoặc là
JSON_EXTRACT(json_expr, json_path)
696, các giá trị số bên ngoài miền loại `FLOAT64` không được mã hóa dưới dạng chuỗi mà được lưu trữ dưới dạng số JSON. Nếu một giá trị số không thể được lưu trữ trong JSON mà không làm mất độ chính xác, thì sẽ xảy ra lỗi

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
963
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
963

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
905
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
905

Nhập SQL với stringify_wide_numbers=>TRUE.
JSON_EXTRACT(json_expr, json_path)
963
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
963

Nhập SQL với stringify_wide_numbers=>TRUE.
JSON_EXTRACT(json_expr, json_path)
905
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
966
NUMERIC
BIGNUMERIC

(chỉ TO_JSON_STRING)

số hoặc chuỗi

Được mã hóa dưới dạng số khi giá trị nằm trong phạm vi [-253, 253] và không có phần phân số. Một giá trị bên ngoài phạm vi này được mã hóa thành một chuỗi

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
979
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
979

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
981
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
981

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
905
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
966

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
985
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
986
NUMERIC
BIGNUMERIC

(chỉ TO_JSON)

số hoặc chuỗi

Nếu đối số

JSON_EXTRACT(json_expr, json_path)
693 là
JSON_EXTRACT(json_expr, json_path)
694 và giá trị nằm ngoài miền loại FLOAT64, thì nó được mã hóa dưới dạng chuỗi. Mặt khác, nó được mã hóa dưới dạng số

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
979
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
979

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
981
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
981

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
905
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
905

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
985
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
985

Nhập SQL với stringify_wide_numbers=>TRUE.
JSON_EXTRACT(json_expr, json_path)
905
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
966

Nhập SQL với stringify_wide_numbers=>TRUE.
JSON_EXTRACT(json_expr, json_path)
985
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
985
FLOAT64

số hoặc chuỗi

JSON_EXTRACT(json_expr, json_path)
101 và
JSON_EXTRACT(json_expr, json_path)
102 được mã hóa thành
JSON_EXTRACT(json_expr, json_path)
103,
JSON_EXTRACT(json_expr, json_path)
104 và
JSON_EXTRACT(json_expr, json_path)
102. Mặt khác, giá trị này được mã hóa dưới dạng số

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
106
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
107

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
905
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
905

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
110
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
111

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
112
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
113

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
114
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
114
STRING

chuỗi

Được mã hóa dưới dạng chuỗi, thoát theo tiêu chuẩn JSON. Cụ thể,

JSON_EXTRACT(json_expr, json_path)
116,
JSON_EXTRACT(json_expr, json_path)
117 và các ký tự điều khiển từ
JSON_EXTRACT(json_expr, json_path)
118 đến
JSON_EXTRACT(json_expr, json_path)
119 được thoát

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
120
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
120

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
122
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
122
BYT

chuỗi

Sử dụng mã hóa dữ liệu RFC 4648 Base64

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
124
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
125
DATEstringSQL đầu vào.
JSON_EXTRACT(json_expr, json_path)
126
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
127
DẤU THỜI GIAN

chuỗi

Được mã hóa thành ngày và giờ theo tiêu chuẩn ISO 8601, trong đó T phân tách ngày và giờ và Z (Zulu/UTC) đại diện cho múi giờ

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
128
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
129
DATETIME

chuỗi

Được mã hóa thành ngày và giờ theo tiêu chuẩn ISO 8601, trong đó T phân tách ngày và giờ

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
130
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
131
THỜI GIAN

chuỗi

Được mã hóa theo thời gian ISO 8601

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
132
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
133
JSON

dữ liệu của JSON đầu vào

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
134
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
135

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
136
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
136
ARRAY

mảng

Có thể chứa 0 hoặc nhiều phần tử

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
138
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
139

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
136
Đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
141
CẤU TRÚC

vật

Đối tượng có thể chứa 0 hoặc nhiều cặp khóa/giá trị. Mỗi giá trị được định dạng theo loại của nó

Đối với

JSON_EXTRACT(json_expr, json_path)
55, một trường được bao gồm trong chuỗi đầu ra và bất kỳ trường trùng lặp nào của trường này đều bị bỏ qua. Đối với
JSON_EXTRACT(json_expr, json_path)
57, một trường và bất kỳ bản sao nào của trường này được bao gồm trong chuỗi đầu ra

Các trường ẩn danh được biểu thị bằng

JSON_EXTRACT(json_expr, json_path)
144

Tên trường UTF-8 không hợp lệ có thể dẫn đến JSON không thể phân tích cú pháp. Các giá trị chuỗi được thoát theo tiêu chuẩn JSON. Cụ thể,

JSON_EXTRACT(json_expr, json_path)
116,
JSON_EXTRACT(json_expr, json_path)
117 và các ký tự điều khiển từ
JSON_EXTRACT(json_expr, json_path)
118 đến
JSON_EXTRACT(json_expr, json_path)
119 được thoát

Đầu vào SQL.
JSON_EXTRACT(json_expr, json_path)
149
đầu ra JSON.
JSON_EXTRACT(json_expr, json_path)
150

Định dạng đường dẫn JSON

Với định dạng JSONPath, bạn có thể xác định các giá trị bạn muốn lấy từ chuỗi có định dạng JSON. Định dạng JSONPath hỗ trợ các toán tử này

Toán tử Mô tảVí dụ
JSON_EXTRACT(json_expr, json_path)
97Đối tượng gốc hoặc phần tử. Định dạng JSONPath phải bắt đầu bằng toán tử này, dùng để chỉ cấp ngoài cùng của chuỗi có định dạng JSON

Chuỗi định dạng JSON.
______5152

Đường dẫn JSON.
______5153

Kết quả JSON.
______5154

JSON_EXTRACT(json_expr, json_path)
155Nhà điều hành con. Bạn có thể xác định các giá trị con bằng ký hiệu dấu chấm

Chuỗi định dạng JSON.
______5152

Đường dẫn JSON.
______5157

Kết quả JSON.
______5158

JSON_EXTRACT(json_expr, json_path)
159 Toán tử đăng ký. Nếu đối tượng JSON là một mảng, bạn có thể sử dụng dấu ngoặc để chỉ định chỉ mục mảng

Chuỗi định dạng JSON.
______5152

Đường dẫn JSON.
______5161

Kết quả JSON.
______5162

Nếu một khóa trong hàm JSON chứa toán tử định dạng JSON, hãy tham khảo từng hàm JSON để biết cách thoát chúng

Hàm JSON trả về

JSON_EXTRACT(json_expr, json_path)
32 nếu định dạng JSONPath không khớp với giá trị trong chuỗi có định dạng JSON. Nếu giá trị được chọn cho một hàm vô hướng không phải là vô hướng, chẳng hạn như một đối tượng hoặc một mảng, hàm sẽ trả về
JSON_EXTRACT(json_expr, json_path)
32. Nếu định dạng JSONPath không hợp lệ, sẽ xảy ra lỗi

Làm cách nào để kiểm tra xem JSON là mảng hay đối tượng?

bạn có thể thêm 'Điều kiện' và kiểm tra xem JSON có chứa các ký tự [ và ] hay không . Nếu có, thì đó là một mảng, nếu không thì đó là một đối tượng.

Làm cách nào để xác định mảng JSON và đối tượng JSON?

Có một số cách bạn có thể thực hiện việc này. .
Bạn có thể kiểm tra ký tự ở vị trí đầu tiên của Chuỗi (sau khi cắt bỏ khoảng trắng, vì nó được cho phép trong JSON hợp lệ). .
Nếu bạn đang xử lý JSON (một Object ), thì bạn có thể thực hiện kiểm tra instanceof

Làm cách nào để kiểm tra kiểu dữ liệu JSON trong python?

Làm theo các bước bên dưới. .
Đầu tiên, cài đặt jsonschema bằng lệnh pip. pip cài đặt jsonschema
Xác định lược đồ. Mô tả loại JSON mà bạn mong đợi
Chuyển đổi JSON sang đối tượng Python bằng json. tải hoặc json. .
Truyền JSON kết quả cho phương thức xác thực () của một jsonschema

Làm cách nào để kiểm tra xem mảng JSON có tồn tại không?

Bạn có thể sử dụng cách viết tắt để kiểm tra xem thuộc tính JSON có tồn tại hay không bằng cách sử dụng chuỗi tùy chọn (?. ) Nếu empInfo không tồn tại, nó trả về không xác định.