如何在 ReactJS 中美化解析的 JSON? [复制]

Posted

技术标签:

【中文标题】如何在 ReactJS 中美化解析的 JSON? [复制]【英文标题】:How to beautify parsed JSON in ReactJS? [duplicate] 【发布时间】:2021-10-08 10:31:42 【问题描述】:

我正在尝试创建一个接受自定义 .xml 文件并使用 xml2json-ltx 库将其中的内容解析为 JSON 对象的 XML 到 JSON 转换器应用程序。我已经完成了解析/转换部分,但结果 JSON 有点难看。

我只想美化解析后的 JSON 并在生成的 JSON 对象中添加适当的缩进。我怎样才能?请用一个例子评论/回答:)

LtxParser.jsx

import React,  useState, useEffect  from "react";
import parser from "xml2json-ltx";
const Ltx = () => 
  const [fileState, setFileData] = useState();
  const [jsonData, setJsonData] = useState();

  useEffect(() => 
    if (!!fileState) 
      const resultObj = parser.toJson(fileState, 
        object: true,
      );
      setJsonData(resultObj);
    
  , [fileState]);
  const onFileDrop = (e) => 
    e.preventDefault();
    const fileData = e.target.files[0];
    const reader = new FileReader();
    reader.onload = function (evt) 
      setFileData(evt.target.result);
    ;
    reader.readAsText(fileData);
  ;

  return (
    <div>
      Ltx
      <input type="file" onChange=onFileDrop />
      jsonData && JSON.stringify(jsonData, undefined, 4)
    </div>
  );
;

export default Ltx;

示例.xml

<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.</description>
</book>
</catalog>

【问题讨论】:

这可能有用***.com/questions/16862627/… 【参考方案1】:

如评论和其他 SO 答案中所述,您可以使用 pre-tag 并在 pre-tag 内显示字符串化的 JSON 对象来显示换行符、缩进等,就像在解析的数据中一样。

例如:

<div>
      Ltx
      <input type="file" onChange=onFileDrop />
      <pre>
        jsonData && JSON.stringify(jsonData, undefined, 4)
      </pre>
</div>

【讨论】:

以上是关于如何在 ReactJS 中美化解析的 JSON? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

使用 AutoHotkey 解析、生成和美化/格式化 Json?

在 ReactJS 中从 JSON 解析数据

安装reactjs时出错:解析附近时JSON输入意外结束

如何在 Python 中美化 JSON?

如何使用 Reactjs 显示 xml 数据

reactjs中如何使用json在表格中显示数据?