Lưu ý: API này đang trong giai đoạn thử nghiệm và có thể thay đổi bất cứ lúc nào. API này bị tắt theo mặc định, nhưng có thể được bật bằng
--experimental_platforms_api
Hội viên
to_json
string ToolchainTypeInfo.to_json()
---incompatible_struct_has_no_methods. Hãy sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc loại bỏ sắp tới. Tạo một chuỗi JSON từ tham số struct. Phương thức này chỉ hoạt động nếu tất cả các phần tử struct (đệ quy) là chuỗi, số nguyên, giá trị boolean, các struct 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 sẽ đượ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ông phải là struct và không làm ảnh hưởng đến không gian tên của trường struct.
to_proto
string ToolchainTypeInfo.to_proto()
---incompatible_struct_has_no_methods. Hãy sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc loại bỏ sắp tới. Tạo một thông báo văn bản từ tham số struct. Phương thức này chỉ hoạt động nếu tất cả các phần tử struct (đệ quy) là chuỗi, số nguyên, giá trị boolean, các struct khác hoặc từ điển 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 sẽ được thoát. Các khoá struct đượ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).
type_label
Label ToolchainTypeInfo.type_label