Как мы можем преобразовать HTML-файл / элементы в формат JSON в react-native

Разрабатывая образец приложения в react-native, я получаю ответ в формате html. Как преобразовать ответ html в формат JSON в react-native.

Это именно то, что я получаю в ответ

"content": "<!doctype html>\r\n<html>\r\n<head>\r\n<style>\r\n#ac-wrapper {\r\n    position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,.6); z-index: 1001;\r\n}\r\n.region{\r\n    color: #fff; font-weight: bold; text-transform: capitalize;\r\n}\r\n.city{\r\n    color: #fff;\r\n}\r\n.no-margin{\r\n    margin:0px;\r\n}\r\n#popup{\r\n    width: 555px; height: 230px; background: #0B6390; border: 1px solid #0B6390; box-shadow: #64686e 0px 0px 3px 3px;\r\n    -moz-box-shadow: #64686e 0px 0px 3px 3px; -webkit-box-shadow: #64686e 0px 0px 3px 3px; position: relative; top: 150px;\r\n}\r\n.button, .button:hover{\r\n    width:100%; background:#fff; color:#000 !important; font-weight: bold;\r\n}\r\n</style>\r\n</head>\r\n\r\n<body>\r\n<center>\r\n<div id=\"ac-wrapper\">\r\n  <div id=\"popup\">\r\n    <h2 class=\"region\">Select Your Region</h2>\r\n    </br>\r\n    <h3 class=\"city\" >Choose Your Nearest City</h3>\r\n    <br>\r\n      <div class=\"col-sm-6\">\r\n          <a href=\"{{store url=\"\"}}vizag\" target=\"_blank\">\r\n              <button class=\"button\">Visakhapatnam</button>\r\n           </a>             \r\n     </div>\r\n      <div class=\"col-sm-6\">\r\n          <a href=\"{{store url=\"\"}}hyd\" target=\"_blank\">\r\n              <button class=\"button\">Hyderabad</button>\r\n           </a>             \r\n     </div>\r\n  </div>\r\n</div>\r\n</center>\r\n\r\n<script type=\"text/javascript\">\r\nfunction PopUp(){\r\n        document.getElementById('ac-wrapper').style.display=\"none\"; \r\n}\r\n</script>\r\n</body>\r\n\r\n</html>"

Вам нужно будет проанализировать HTML, извлечь из него данные, которые вам нужны (я понятия не имею, что это за данные, выражение их в виде одной строки HTML-кода, закодированного в JavaScript, делает его более или менее нечитаемым) , поместите его в структуру данных JavaScript, а затем преобразуйте в JSON. Большие куски из них либо «слишком широки», либо представляют собой вопрос о переполнении стека, либо «неясны» в отношении того, какой именно результат вы хотите получить.

Quentin 24.09.2018 14:15

не могли бы вы дать мне образец. Если я использую синтаксический анализ, он еще не работает

Lavaraju 24.09.2018 15:01

Нет. См. Мое примечание о том, что он "слишком широк".

Quentin 24.09.2018 15:06

"если я использую синтаксический анализ, он еще не работает" ... что за синтаксический анализ? Очевидно, что JSON.parse не будет работать, потому что данные не JSON. Вам нужно что-то, что будет анализировать HTML и позволить вам затем легко перемещаться по нему и извлекать из него биты. Например, jQuery может это сделать. Я уверен, что есть много других вариантов, если вы поищете. Затем, как только вы сможете извлечь нужные биты из HTML, вы можете превратить его в объект JS, а затем вы можете преобразовать его в JSON. Это шаги, которые вам нужно пройти. Все они по отдельности можно исследовать, а примеры уже можно найти в Интернете.

ADyson 24.09.2018 15:06

Проведите фундаментальное исследование и попробуйте, пожалуйста. Это не бесплатная услуга по исследованию, написанию кода и даже не по принципу «делай свое мышление». Мы отдаем свое свободное время, а взамен ожидаем хотя бы некоторых свидетельств того, что ваше собственное время было потрачено в первую очередь. Мы предоставим вам помощь для решения вашей проблемы, а не реши это за тебя. Если вам нужно, чтобы кто-то выполнял всю работу от вашего имени, вам нужно будет заплатить кому-то (а не нам). Судя по вашей оценке репутации, я надеюсь, что вы уже хорошо понимаете, как работает этот сайт.

ADyson 24.09.2018 15:06

в React-native jQuery не работает правильно ??

Lavaraju 25.09.2018 06:10

Я не об этом говорил - я хотел пойти и провести простое исследование для себя. (Хотя, я бы предположил, что jQuery технически не требует наличия DOM для синтаксического анализа строки HTML в проходимый объект, но я могу ошибаться. Черт возьми, почему бы не попробовать это и посмотреть, куда вы попадете?)

ADyson 25.09.2018 10:28

Возможный дубликат Преобразование HTML в JSON в react-native

joshkmartinez 30.12.2018 22:06
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
8
596
1

Ответы 1

Вы можете использовать эту библиотеку: https://github.com/andrejewski/himalaya

import {parse} from 'himalaya'
const html = '<html/>' //your html goes here
const json = parse(html)
console.info(json)

Другие вопросы по теме