Nhà cung cấp do các quy tắc chuỗi công cụ trả về để chia sẻ dữ liệu với các quy tắc phụ thuộc vào chuỗi công cụ. Hãy đọc về chuỗi công cụ để biết thêm thông tin.
Hội viên
to_json
string ToolchainInfo.to_json()
---incompatible_struct_has_no_methods
. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc xoá sắp tới. Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc khác, danh sách các loại này hoặc từ điển có khoá chuỗi và giá trị của các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Ví dụ:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}
Không dùng nữa: thay vào đó, hãy sử dụng json.encode(x) hoặc json.encode_indent(x). Các hàm này hoạt động cho các giá trị khác ngoài cấu trúc và không làm ảnh hưởng đến không gian tên trường cấu trúc.
to_proto
string ToolchainInfo.to_proto()
---incompatible_struct_has_no_methods
. Hãy dùng cờ này để xác minh rằng mã của bạn tương thích với việc xoá sắp tới. Tạo một tin nhắn văn bản từ tham số cấu trúc. Phương thức này chỉ hoạt động nếu tất cả các phần tử cấu trúc (đệ quy) là chuỗi, số nguyên, giá trị boolean, các cấu trúc hoặc từ điển khác hoặc danh sách các loại này. Dấu ngoặc kép và dòng mới trong chuỗi được thoát. Các khoá cấu trúc được lặp lại theo thứ tự đã sắp xếp. Ví dụ:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
Không dùng nữa: thay vào đó, hãy sử dụng proto.encode_text(x).