Разделение объекта javascript на обычную строку со знаком =

Как я могу динамически преобразовать объект json следующим образом я должен

{ eligible: true, qualified:true }

но мне нужно сделать так

eligible= true, qualified=true

Является ли пробел перед первым true в ожидаемом выводе преднамеренным/обязательным?

CertainPerformance 28.05.2019 09:57

Что вы пытались сделать для этого? Является ли вывод строкой?

void 28.05.2019 09:57

@CertainPerformance извините, пробел не преднамеренный

midhun k 28.05.2019 09:58

Почему бы вам не использовать REGEX?

mukesh210 28.05.2019 09:58

ожидаемый вывод - строка?

Rajesh Kumaran 28.05.2019 09:59

@void я пытаюсь добиться этого, чтобы войти в наши панели мониторинга splunk, которые будут принимать только этот формат

midhun k 28.05.2019 09:59

Это либо объект, либо строка/текст в формате JSON. Нет такого понятия, как «объект JSON». Вы можете использовать Object.keys(myObj), чтобы получить массив ключей, а затем использовать .map, чтобы создать новый массив. Есть еще .join().

Chris G 28.05.2019 09:59

@MukeshPrajapati: да, мы можем использовать регулярное выражение, но у меня его нет под рукой

midhun k 28.05.2019 09:59

Ваш JSON недействителен - ключи должны быть заключены в "s, лучше это исправить, а затем вы можете превратить его в объект с помощью JSON.parse

CertainPerformance 28.05.2019 10:00

@ChrisG, не могли бы вы помочь мне с этим jsfiddle или кодом?

midhun k 28.05.2019 10:01

Пожалуйста, изучите разница между JSON и литеральной нотацией объекта.

str 28.05.2019 10:02

Тебя дважды накормили с ложки, зачем тебе рабочий пример сверху?

Chris G 28.05.2019 10:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
12
51
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете получить записи объекта и изменить key/value на строку, используя reduce

let obj = { eligible: true, qualified:true }


let str = Object.entries(obj).reduce((op,[key,value],index,arr)=>{
  op+= `${key}=${value}${index !== arr.length-1 ? ',' : ''} `
  return op
},'')

console.info(str.trim())

Вы можете использовать Объект.записи, чтобы получить двумерный массив объектов, а затем использовать Array.prototype.map, чтобы соединить элемент массива (ключ, значение) с =.

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

var x = { eligible: true, qualified:true };

var newX = Object.entries(x).map(el => el.join(" = ")).join(", ");

console.info(newX);
Ответ принят как подходящий

Если мы можем предположить, что строка является допустимым объектом JSON (у вас отсутствуют кавычки), вы можете проанализировать строку как JSON, а затем использовать Object.entries для получения пар ключ-значение, которые затем можно сопоставить и соединить с желаемой строкой вывода.

const jsonStr = '{ "eligible": true, "qualified":true }'
const jsonObj = JSON.parse(jsonStr)

console.info(Object.entries(jsonObj).map(e => e.join('=')).join(', '))

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