Cung cấp quyền truy cập vào dữ liệu về một nền tảng cụ thể. Hãy xem phần Xác định các quy tắc ràng buộc và nền tảng để biết thêm thông tin.
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. Tính năng 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 PlatformInfo.to_json()
---incompatible_struct_has_no_methods
. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá. Tạo một chuỗi JSON từ tham số cấu trúc. Phương thức này chỉ hiệu quả nếu tất cả các phần tử cấu trúc (theo đệ quy) là chuỗi, số nguyên, boolean, 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ị thuộc các kiểu 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 ô nhiễm không gian tên trường cấu trúc.
to_proto
string PlatformInfo.to_proto()
---incompatible_struct_has_no_methods
. Sử dụng cờ này để xác minh rằng mã của bạn tương thích với việc sắp bị xoá. Tạo 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 (recursion) đều là chuỗi, số nguyên, boolean, cấu trúc hoặc từ điển hoặc danh sách khác thuộc 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).