Доступ к нескольким объектам JSON в скрипте потопа - PullRequest
0 голосов
/ 18 марта 2019

Я создаю приложение в Zoho Creator, которое извлекает информацию из внешней базы данных о членстве.

У меня есть запрос GET, который возвращает членство человека. Человек может иметь несколько членств, что приводит к возвращению нескольких объектов JSON, например:

 [
  {
    "id": 76397,
    "membership_level_id": 395,
    "start_date": "2019-03-04",
    "end_date": "2020-03-03",
    "state": "partial",
    "created_at": "2019-01-07T19:13:16+1100",
    "adult_members": [
      {
        "contact_id": 5389
      }
    ],
    "child_members": [],
    "contact_id": 5389
  },
  {
    "id": 8728,
    "membership_level_id": 937,
    "start_date": "2019-01-07",
    "end_date": "2019-02-06",
    "state": "expired",
    "created_at": "2019-01-07T20:09:12+1100",
    "adult_members": [
      {
        "contact_id": 5389
      }
    ],
    "child_members": [],
    "contact_id": 5389
  }
]

Я пытаюсь добиться того, чтобы для каждого возвращаемого членства (в приведенном выше примере их два) создается запись в форме Memberships.

В приведенном выше примере в форме Memberships должны быть созданы две записи с соответствующими парами ключ-значение.

Я пытался преобразовать ответ JSON в .toJSONlist();, но, похоже, не могу извлечь информацию.

Есть идеи о том, как создать новую запись в форме для каждого членства, которое возвращается в ответе?

1 Ответ

0 голосов
/ 26 марта 2019

Попробуйте:

//considering member1 is my response data

member1 = {{"id":76397,"membership_level_id":395,"start_date":"2019-03-04","end_date":"2020-03-03","state":"partial","created_at":"2019-01-07T19:13:16+1100","adult_members":{{"contact_id":5389}},"child_members":{},"contact_id":5389},{"id":8728,"membership_level_id":937,"start_date":"2019-01-07","end_date":"2019-02-06","state":"expired","created_at":"2019-01-07T20:09:12+1100","adult_members":{{"contact_id":5389}},"child_members":{},"contact_id":5389}};

//convert response to, toJsonLsit()
 rows = member1.toJSONList();

// iterate through any number of membership returned
for each  row in rows
{
    info row;
    id = row.getJSON("id");
    info "id is: " + id;
    contactId = row.getJSON("contact_id");
    info "contact id: " + contactId;
    startDate = row.getJSON("start_date");
    info "startDate: " + startDate;
    endDate = row.getJSON("end_date");
    info "endDate: " + endDate;
    state = row.getJSON("state");
    info "state: " + state;
    insertingData = insert into Memberships_Form
[
    Added_User=zoho.loginuser
    Contact_Id=contactId
    membership_id=id
    Start_Date=startDate
    End_Date=endDate
    State = state

];
}

изображение: отчет о форме членства enter image description here

изображение: формат json членства enter image description here

...