Js извлекает информацию из jsonJavascript

Форум по Javascript
Ответить
Гость
 Js извлекает информацию из json

Сообщение Гость »


У меня есть следующий довольно сложный и подробный json-файл.

Мне нужно экстраполировать информацию (текст) из json, только если resource-id содержит следующий текст "com.shazam.android:id/" и если он содержит следующие реквизиты (["title", "subtitle", "datetime"]).

Если последний элемент не содержит datetime, то resorceIdFinal не вставляется.

Ниже приведен пример json, который я хочу получить.

Здесь вы можете найти json, который я использую, я не смог вставить его сюда из-за пробела в символах.

Ссылка: https://pastebin.com/raw/hFLmP2T8

const check = (obj,keys) => !keys.some((el) => !obj.hasOwnProperty(el)); const isObjectEmpty = (objectName) => { возвращаться ( Имя объекта && Object.keys(objectName).length === 0 && имя_объекта.конструктор === Объект ); }; const getChildren = (el, replaceText, props, resorceIdFinal) => { вар обр = []; el.forEach((el) => { let resorceId = getResorceId(el.attributes, replaceText, props, resorceIdFinal); если (!isObjectEmpty(resorceId)) arr.push(resorceId); //console.log(arr); getChildren(el.children, replaceText, props, resorceIdFinal); }); возврат обр; }; const getResorceId = (el, replaceText, props, resorceIdFinal) => { вар о = {}; if (el["resource-id"] !== не определено) { var resorceId = el["resource-id"].replace(replaceText, ""); если (props.includes(resorceId)) { о = {[resorceId]: el.text }; } } вернуться о; }; функция readPro(json, replaceText, props, filterA, resorceIdFinal) { вар обр = []; json.forEach((el) => { arr.push(getChildren(el.children, replaceText, props, resorceIdFinal)); }); console.log(обр.) фильтруется = arr.filter( ((s) => (о) => ((k) => !s.has(k) && s.add(k))(filterA.map((k) => o[k]).join("|")))( новый набор() ) ); возврат фильтруется; } вар разрешение = readPro( а.дети, "com.shazam.android:id/", ["название", "субзаголовок", "дата-время"], ["заголовок", "подзаголовок"], "дата-время" ); console.log(рез); Результат Json, который я хотел бы получить:

[ { "title": "Верю", "subtitle": "Чутер", "datetime": "12 июля, 16:42" }, { "title": "시작 (Инст.)" "subtitle": "Гахо" "datetime": "12 июля, 16:42" }, { "title": "Брось это" "subtitle": "KC и группа Sunshine" "datetime": "12 июля, 16:41" }, { "title": "ГРАВИТАЦИЯ" "subtitle": "Чон Хо" "datetime": "12 июля, 16:41" } ] Можете ли вы мне помочь?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»