Как получить доступ к хешу / объекту, возвращенному из API? - PullRequest
2 голосов
/ 18 июня 2019

Я вызываю API, который возвращает большой хеш / объект.У меня есть два вопроса:

  1. Чтобы обратиться к ключам / значениям этого хеша (например, в диалоге), нужно ли преобразовывать хеш в структуру?(Или есть способ получить доступ к объекту «напрямую».)

  2. Если мне нужно преобразовать хеш в структуру Биксби, есть ли какой-нибудь способ сделать это программно?

Прямо сейчас я создал целую кучу примитивов для всех ключей в объекте, а затем структуру со всеми этими примитивами в качестве свойств.Я надеюсь, что мне чего-то не хватает, так как возвращенный хеш может иметь сотни ключей.

1 Ответ

1 голос
/ 18 июня 2019

Чтобы обратиться к ключам / значениям этого хеша (например, в диалоге), нужно ли преобразовывать хеш в структуру? (Или есть способ получить доступ к объекту "напрямую")

Да, вы должны определить structure, если хотите это сделать.

Если мне нужно преобразовать хеш в структуру Биксби, есть ли способ сделать это программно?

Не сейчас, нет. Чтобы избавить себя от необходимости создавать сотни различных моделей для каждого поля в хэше, вы можете использовать клавишу 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 различных полей в вашей модели и вы хотите использовать их в планировщике.

...