JSON.Stringify | Вывести результат на экран с кавычками '' - PullRequest
0 голосов
/ 08 мая 2019

Я использую следующие методы в своем приложении React для преобразования моего Object в строку. Все работает нормально, но я хочу вывести результат на экран без "" вокруг вывода.

  renderConfigInfoCellRow = configInfoKey => {
    const { lconfigInfo } = this.props;
    return (
      <tr key={configInfoKey}>
        <td className="pt-3 text-muted font-weight-bold w-25">{configInfoKey}</td>
        {(typeof lconfigInfo.sql[configInfoKey] === 'string' && (
          <td className="pt-3">{JSON.stringify(lconfigInfo.sql[configInfoKey])}</td>
        )}
      </tr>
    );
  };

И я использую это здесь:

<tbody>
  {Object.keys(lconfigInfo.sql).map(configInfoKey =>
    this.renderConfigInfoCellRow(configInfoKey)
  )}
</tbody>

Есть идеи, как удалить "", окружающий "output" ?? Или, если они являются альтернативой JSON.Stringify. Спасибо !!

Ответы [ 3 ]

2 голосов
/ 08 мая 2019

Нет смысла использовать JSON.stringify (), если данные не являются объектами, попробуйте изменить это JSON.stringify(lconfigInfo.sql[configInfoKey]) на lconfigInfo.sql[configInfoKey].

Также есть условие, при котором вы проверяете, выполняет ли lconfigInfo.sql[configInfoKey] является строкой и пытается преобразовать ее снова в строку.

2 голосов
/ 08 мая 2019

JSON.stringify выводит допустимый JSON, поэтому, если вы передадите ему строку, она вернет строку, заключенную в "".

Вы проверяете, является ли значение lconfigInfo.sql[configInfoKey] строкой, поэтому вы можете просто распечатать его прямо как:

<td className="pt-3">{lconfigInfo.sql[configInfoKey]}</td>
1 голос
/ 08 мая 2019

Попробуйте .replace(/\"/g, ""):

{JSON.stringify(lconfigInfo.sql[configInfoKey]).replace(/\"/g, "")}
...