我正在调用一个返回大哈希值/对象的API。我有两个问题:
为了引用该哈希的键/值(例如,在对话中),我是否必须将哈希转换为结构? (或者是否可以“直接”访问对象。)
如果我必须将哈希转换为Bixby结构,是否可以通过编程方式实现?
现在,我为对象中的所有键创建了一大堆原语,然后创建了一个将所有这些原语作为属性的结构。我希望我丢失了一些东西,因为返回的哈希可能包含100个密钥。
答案 0 :(得分:1)
为了引用该哈希的键/值(例如,在对话中),我是否必须将哈希转换为结构? (或者是否可以“直接”访问对象。)
是的,如果您想这样做,必须定义一个structure
。
如果我必须将哈希转换为Bixby结构,是否可以通过编程方式实现?
暂时不,不。为了省去为哈希中的每个字段创建100个不同模型的麻烦,可以使用visibility
键来重用概念。
例如,
structure (Group) {
description (Represents a group.)
property (id) {
type (viv.core.Text) // Normally you can't have two properties of the same type.
min (Required) max (One)
visibility (Private) // But with this key, the planner cannot see this concept and won't be confused.
}
property (name) {
type (viv.core.Text)
min (Required) max (One)
visibility (Private)
}
(more properties here)
}
另一种选择是只使用JavaScript生成对话,并为您想说的内容添加一个“对话”字段。除非您特别需要在模型中模拟出100个不同的字段并希望在计划程序中使用它们,否则这可能是解决问题的方法。