【问题标题】:How to access a hash/object returned from API?如何访问从 API 返回的哈希/对象?
【发布时间】:2019-06-18 03:15:47
【问题描述】:

我正在调用一个返回大哈希/对象的 API。我有两个问题:

  1. 为了引用该散列的键/值(例如,在对话中),我是否必须将散列转换为结构? (或者有没有办法“直接”访问对象。)

  2. 如果我必须将散列转换为 Bixby 结构,是否可以通过某种方式以编程方式执行此操作?

现在,我已经为对象中的所有键创建了一大堆原语,然后是一个将所有这些原语作为属性的结构。我希望我缺少一些东西,因为返回的哈希可能有 100 个键。

【问题讨论】:

    标签: bixby


    【解决方案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 个不同的字段并希望在规划器中使用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-06
      相关资源
      最近更新 更多