Всем привет!
Начал работать с Битрикс24 API и столкнулся с проблемой чтения JSON.
С JSON работаю не много, но всегда чтение из строки проходит без проблем.
Из-за ограничений к формату ключа в 1С выявил пока 2 основные проблемы:
1. ключ не должен содержать "."
решил простой заменой "." на "йй" перед чтением и обратная замена в значении после разбора структуры.
2. ключ не должен начинаться с цифры
и вот тут затык.
Вот так postman прочитал:
Исходник(не очень удобно читать):
Начал работать с Битрикс24 API и столкнулся с проблемой чтения JSON.
С JSON работаю не много, но всегда чтение из строки проходит без проблем.
Из-за ограничений к формату ключа в 1С выявил пока 2 основные проблемы:
1. ключ не должен содержать "."
"edit.originator": true,
"checklist.reorder": true,
"elapsedtime.add": true,
"dayplan.timer.toggle": false,
"edit.plan": true,
"checklist.add": true,
"favorite.add": true,
"favorite.delete": false
"checklist.reorder": true,
"elapsedtime.add": true,
"dayplan.timer.toggle": false,
"edit.plan": true,
"checklist.add": true,
"favorite.add": true,
"favorite.delete": false
решил простой заменой "." на "йй" перед чтением и обратная замена в значении после разбора структуры.
2. ключ не должен начинаться с цифры
"checklist": {
"120": {
"id": "120",
"taskId": "858",
"createdBy": "34",
"parentId": "118",
"120": {
"id": "120",
"taskId": "858",
"createdBy": "34",
"parentId": "118",
и вот тут затык.
Вот так postman прочитал:
{
"result": {
"task": {
"id": "858",
"parentId": null,
"title": "Облучатели с wifi управлением",
"description": "Первичные задачи:\r\n1. Доработать Управление, что бы можно было устанавливать время работы и видеть обратный отсчет времени.\r\n2. Определиться с основными комплектующими\r\n3. Сформировать КП для клиентов\r\n\r\n",
"mark": "",
"priority": "0",
"status": "3",
"multitask": "N",
"notViewed": "N",
"replicate": "N",
"groupId": "0",
"stageId": "0",
"createdBy": "1",
"createdDate": "2020-05-31T13:13:32+07:00",
"responsibleId": "1",
"changedBy": "1",
"changedDate": "2020-10-01T14:50:26+07:00",
"statusChangedBy": "1",
"statusChangedDate": "2020-07-31T20:36:50+07:00",
"closedBy": null,
"closedDate": null,
"activityDate": "2020-10-11T19:02:28+07:00",
"dateStart": "2020-07-31T20:36:50+07:00",
"deadline": "2020-10-11T19:00:00+07:00",
"startDatePlan": null,
"endDatePlan": null,
"guid": "{69631153-d903-4770-b7f5-1820a311c4cb}",
"xmlId": null,
"commentsCount": "56",
"allowChangeDeadline": "Y",
"taskControl": "N",
"addInReport": "N",
"forkedByTemplateId": null,
"timeEstimate": "0",
"timeSpentInLogs": null,
"matchWorkTime": "N",
"forumTopicId": "328",
"forumId": "11",
"siteId": "s1",
"subordinate": "N",
"favorite": "N",
"exchangeModified": null,
"exchangeId": null,
"outlookVersion": "12",
"viewedDate": "2020-10-15T10:27:57+07:00",
"sorting": "-38912.0000000",
"durationPlan": "0",
"durationFact": null,
"durationType": "days",
"isMuted": "N",
"isPinned": "N",
"descriptionInBbcode": "Y",
"ufCrmTask": false,
"ufTaskWebdavFiles": [],
"ufMailMessage": null,
"auditors": [
"6",
"8"
],
"accomplices": [
"14",
"18",
"28",
"32",
"34"
],
"checklist": {
"120": {
"id": "120",
"taskId": "858",
"createdBy": "34",
"parentId": "118",
"title": "Прошивка",
"sortIndex": "0",
"isComplete": "Y",
"isImportant": "N",
"toggledBy": "34",
"toggledDate": "2020-08-19T09:25:03+03:00",
"ufChecklistFiles": false,
"members": [],
"attachments": [],
"entityId": "858"
},
"118": {
"id": "118",
"taskId": "858",
"createdBy": "34",
"parentId": 0,
"title": "Чек-лист 1",
"sortIndex": "0",
"isComplete": "Y",
"isImportant": "N",
"toggledBy": "34",
"toggledDate": "2020-08-31T11:47:05+03:00",
"ufChecklistFiles": false,
"members": [],
"attachments": [],
"entityId": "858"
},
"122": {
"id": "122",
"taskId": "858",
"createdBy": "34",
"parentId": "118",
"title": "Мобильное приложение",
"sortIndex": "1",
"isComplete": "Y",
"isImportant": "N",
"toggledBy": "34",
"toggledDate": "2020-08-19T09:25:04+03:00",
"ufChecklistFiles": false,
"members": [],
"attachments": [],
"entityId": "858"
},
"124": {
"id": "124",
"taskId": "858",
"createdBy": "34",
"parentId": "118",
"title": "Образец",
"sortIndex": "2",
"isComplete": "Y",
"isImportant": "N",
"toggledBy": "34",
"toggledDate": "2020-08-25T14:19:02+03:00",
"ufChecklistFiles": false,
"members": [],
"attachments": [],
"entityId": "858"
}
},
"group": [],
"creator": {
"id": "1",
"name": "Барковец Владимир",
"link": "/company/personal/user/1/",
"icon": "/bitrix/images/tasks/default_avatar.png"
},
"responsible": {
"id": "1",
"name": "Барковец Владимир",
"link": "/company/personal/user/1/",
"icon": "/bitrix/images/tasks/default_avatar.png"
},
"newCommentsCount": 0,
"action": {
"accept": false,
"decline": false,
"complete": true,
"approve": false,
"disapprove": false,
"start": false,
"pause": true,
"delegate": true,
"remove": true,
"edit": true,
"defer": false,
"renew": false,
"create": true,
"changeDeadline": true,
"checklistAddItems": true,
"addFavorite": true,
"deleteFavorite": false,
"rate": true,
"edit.originator": true,
"checklist.reorder": true,
"elapsedtime.add": true,
"dayplan.timer.toggle": false,
"edit.plan": true,
"checklist.add": true,
"favorite.add": true,
"favorite.delete": false
}
}
},
"time": {
"start": 1603074542.0486109,
"finish": 1603074542.2681241,
"duration": 0.2195131778717041,
"processing": 0.084923028945922852,
"date_start": "2020-10-19T05:29:02+03:00",
"date_finish": "2020-10-19T05:29:02+03:00"
}
}
ПоказатьИсходник(не очень удобно читать):
{"result":{"task":{"id":"858","parentId":null,"title":"\u041e\u0431\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u0438 \u0441 wifi \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c","description":"\u041f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438:\r\n1. \u0414\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0432\u0438\u0434\u0435\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u043e\u0442\u0441\u0447\u0435\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.\r\n2. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0443\u044e\u0449\u0438\u043c\u0438\r\n3. \u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u041a\u041f \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432\r\n\r\n","mark":"","priority":"0","status":"3","multitask":"N","notViewed":"N","replicate":"N","groupId":"0","stageId":"0","createdBy":"1","createdDate":"2020-05-31T13:13:32+07:00","responsibleId":"1","changedBy":"1","changedDate":"2020-10-01T14:50:26+07:00","statusChangedBy":"1","statusChangedDate":"2020-07-31T20:36:50+07:00","closedBy":null,"closedDate":null,"activityDate":"2020-10-11T19:02:28+07:00","dateStart":"2020-07-31T20:36:50+07:00","deadline":"2020-10-11T19:00:00+07:00","startDatePlan":null,"endDatePlan":null,"guid":"{69631153-d903-4770-b7f5-1820a311c4cb}","xmlId":null,"commentsCount":"56","allowChangeDeadline":"Y","taskControl":"N","addInReport":"N","forkedByTemplateId":null,"timeEstimate":"0","timeSpentInLogs":null,"matchWorkTime":"N","forumTopicId":"328","forumId":"11","siteId":"s1","subordinate":"N","favorite":"N","exchangeModified":null,"exchangeId":null,"outlookVersion":"12","viewedDate":"2020-10-15T10:27:57+07:00","sorting":"-38912.0000000","durationPlan":"0","durationFact":null,"durationType":"days","isMuted":"N","isPinned":"N","descriptionInBbcode":"Y","ufCrmTask":false,"ufTaskWebdavFiles":[],"ufMailMessage":null,"auditors":["6","8"],"accomplices":["14","18","28","32","34"],"checklist":{"120":{"id":"120","taskId":"858","createdBy":"34","parentId":"118","title":"\u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430","sortIndex":"0","isComplete":"Y","isImportant":"N","toggledBy":"34","toggledDate":"2020-08-19T09:25:03+03:00","ufChecklistFiles":false,"members":[],"attachments":[],"entityId":"858"},"118":{"id":"118","taskId":"858","createdBy":"34","parentId":0,"title":"\u0427\u0435\u043a-\u043b\u0438\u0441\u0442 1","sortIndex":"0","isComplete":"Y","isImportant":"N","toggledBy":"34","toggledDate":"2020-08-31T11:47:05+03:00","ufChecklistFiles":false,"members":[],"attachments":[],"entityId":"858"},"122":{"id":"122","taskId":"858","createdBy":"34","parentId":"118","title":"\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435","sortIndex":"1","isComplete":"Y","isImportant":"N","toggledBy":"34","toggledDate":"2020-08-19T09:25:04+03:00","ufChecklistFiles":false,"members":[],"attachments":[],"entityId":"858"},"124":{"id":"124","taskId":"858","createdBy":"34","parentId":"118","title":"\u041e\u0431\u0440\u0430\u0437\u0435\u0446","sortIndex":"2","isComplete":"Y","isImportant":"N","toggledBy":"34","toggledDate":"2020-08-25T14:19:02+03:00","ufChecklistFiles":false,"members":[],"attachments":[],"entityId":"858"}},"group":[],"creator":{"id":"1","name":"\u0411\u0430\u0440\u043a\u043e\u0432\u0435\u0446 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440","link":"\/company\/personal\/user\/1\/","icon":"\/bitrix\/images\/tasks\/default_avatar.png"},"responsible":{"id":"1","name":"\u0411\u0430\u0440\u043a\u043e\u0432\u0435\u0446 \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440","link":"\/company\/personal\/user\/1\/","icon":"\/bitrix\/images\/tasks\/default_avatar.png"},"newCommentsCount":0,"action":{"accept":false,"decline":false,"complete":true,"approve":false,"disapprove":false,"start":false,"pause":true,"delegate":true,"remove":true,"edit":true,"defer":false,"renew":false,"create":true,"changeDeadline":true,"checklistAddItems":true,"addFavorite":true,"deleteFavorite":false,"rate":true,"edit.originator":true,"checklist.reorder":true,"elapsedtime.add":true,"dayplan.timer.toggle":false,"edit.plan":true,"checklist.add":true,"favorite.add":true,"favorite.delete":false}}},"time":{"start":1603074542.0486109,"finish":1603074542.2681241,"duration":0.2195131778717041,"processing":0.084923028945922852,"date_start":"2020-10-19T05:29:02+03:00","date_finish":"2020-10-19T05:29:02+03:00"}}
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) это к чему? Это ошибка при чтении в соответствие?
Из СП:
ПрочитатьJSON(<ЧтениеJSON>, <ПрочитатьВСоответствие>, <ИменаСвойствСоЗначениямиДата>, <ОжидаемыйФорматДаты>, <ИмяФункцииВосстановления>, <МодульФункцииВосстановления>, <ДополнительныеПараметрыФункцииВосстановления>, <ИменаСвойствДляОбработкиВосстановления>, <МаксимальнаяВложенность>)
При установке параметра ПрочитатьВСоответствие в Истина, будет парсинг в соответствие, которое не имеет ограничений на название ключа.
Из СП:
ПрочитатьJSON(<ЧтениеJSON>, <ПрочитатьВСоответствие>, <ИменаСвойствСоЗначениямиДата>, <ОжидаемыйФорматДаты>, <ИмяФункцииВосстановления>, <МодульФункцииВосстановления>, <ДополнительныеПараметрыФункцииВосстановления>, <ИменаСвойствДляОбработкиВосстановления>, <МаксимальнаяВложенность>)
При установке параметра ПрочитатьВСоответствие в Истина, будет парсинг в соответствие, которое не имеет ограничений на название ключа.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот