Показать сообщение отдельно
  #1 (permalink)  
Старый 09.03.2018, 19:19
Интересующийся
Отправить личное сообщение для grigandal Посмотреть профиль Найти все сообщения от grigandal
 
Регистрация: 18.02.2018
Сообщений: 26

Раскодировать BSON в JSON
Есть строка в формате BSON (закодированная в base64), как раскодировать ее в JSON-строку?

Строка в таком виде

Код:
ugEAAAMwAGsAAAACX2lkAAsAAAAxNUdaczF4UWt3AAJVc2VyQnVpbGQAJQAAADRlMTI3VzEwN3M2N1MxYjc4ZjEwM1U5MHkzN3cxMDBlMTE5ZwAIVXNlckZ1bGxBY2Nlc3MAAQhVc2VyQ2FuQWRkAAAAAzEAagAAAAJfaWQACwAAADV2QlV2ZWdsVm4AAlVzZXJCdWlsZAAkAAAANzF6MTIySjEwM1Y2OFI4MmU4M2o4NWI5OHE2MG45Nms1MloACFVzZXJGdWxsQWNjZXNzAAAIVXNlckNhbkFkZAAAAAMyAGoAAAACX2lkAAsAAAAwWk81anpwb3MzAAhVc2VyRnVsbEFjY2VzcwABAlVzZXJCdWlsZAAkAAAAMTA3TTEyMEwxUDg4WjY3czczQTk0ZDcwRTk3ajEwMWsyNEUACFVzZXJDYW5BZGQAAAADMwBqAAAAAl9pZAALAAAAb0prbDhyZk9GbwACVXNlckJ1aWxkACQAAAAxMjNXODNkOTRpMTRPNjVMOTRFMTI1VTExM3Y2MXU1OFQ4VQAIVXNlckZ1bGxBY2Nlc3MAAQhVc2VyQ2FuQWRkAAAAAA==
В документации сказано, что это:

Код:
bson результат запроса, закодированный в base64
Как это раскодировать в JSON?

(Вопрос подобен этому, тут все работает, но это для Delphi)

Пробовал раскодировать base64 с помощью WindowBase64 функции atob()

Результат такой (из-за непечатных символов пришлось картинкой):

Код:

var str = ("ugEAAAMwAGsAAAACX2lkAAsAAAAxNUdaczF4UWt3AAJVc2VyQnVpbGQAJQAAADRlMTI3VzEwN3M2N1MxYjc4ZjEwM1U5MHkzN3cxMDBlMTE5ZwAIVXNlckZ1bGxBY2Nlc3MAAQhVc2VyQ2FuQWRkAAAAAzEAagAAAAJfaWQACwAAADV2QlV2ZWdsVm4AAlVzZXJCdWlsZAAkAAAANzF6MTIySjEwM1Y2OFI4MmU4M2o4NWI5OHE2MG45Nms1MloACFVzZXJGdWxsQWNjZXNzAAAIVXNlckNhbkFkZAAAAAMyAGoAAAACX2lkAAsAAAAwWk81anpwb3MzAAhVc2VyRnVsbEFjY2VzcwABAlVzZXJCdWlsZAAkAAAAMTA3TTEyMEwxUDg4WjY3czczQTk0ZDcwRTk3ajEwMWsyNEUACFVzZXJDYW5BZGQAAAADMwBqAAAAAl9pZAALAAAAb0prbDhyZk9GbwACVXNlckJ1aWxkACQAAAAxMjNXODNkOTRpMTRPNjVMOTRFMTI1VTExM3Y2MXU1OFQ4VQAIVXNlckZ1bGxBY2Nlc3MAAQhVc2VyQ2FuQWRkAAAAAA==");

console.log(atob(str));



Нужные параметры, типа _id или userBuild для составления JSON объекта тут есть

Но все-же JSON из такой строки не спарсишь


Что можно сделать?

P.S. Строка - ответ на запрос к HTTP API Scorocode

Последний раз редактировалось grigandal, 09.03.2018 в 19:47.
Ответить с цитированием