将纯文本数据转换为 json

2023-12-21

我有一些数据正在尝试使用 javascript 进行处理。

DATA:
A.         Category one
1.          item one 
2.          item two
B.         Category two
3.          item three
4.          item four
C.         Category three
5.          item five
6.          item six

DESIRED OUTPUT:
[{
"Category one":["item one", "item two"],
"Category two":["item three", "item four"],
"Category three":["item five", "item six"]
}]

有没有一个库可以帮助我用 javascript 进行文本解析?

THIS IS AS FAR AS I GOT:

function parseFormat(str) {
var arr = [];
str.split('\n').forEach(function (line) {
    var obj = {};
     line.split('.').forEach(function (item) {
        if (isNaN(item)) {
            // ??
        } else {

        }
    });
    return ?;
});
}

帮助?谢谢


这是完整的function。请看下面的代码。

解析字符串的函数

function parseFormat(strArg) {
  var
    category,
    output = {},  // Output
    str = strArg.trim();  // Remove unwanted space before processing

  str.split('\n').forEach(function(line) {
    var item = line.split('.');
    if (item[0].match(/\d/)) {  // Match a decimal number
        // Remove unwanted space & push
        output[category].push(item[1].trim());
    } else if (item[0].match(/\D/)) {  // Match UPPERCASE alphabet
        // Remove unwanted space
        category = item[1].trim();
        output[category] = []
      }
    });
  return output;
}

输入字符串

// ES6 Template Strings to define multiline string
var str = `
  A.         Category one
  1.          item one
  2.          item two
  B.         Category two
  3.          item three
  4.          item four
  C.         Category three
  5.          item five
  6.          item six
`;

函数调用

// Final output Array
var finalOutput = [];
// Parse input string
var parseStr = parseFormat(str);

finalOutput.push(parseStr);

// Desired JSON output
console.log(JSON.stringify(finalOutput));

您可以查看浏览器控制台以获取所需的 JSON 输出。

希望能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将纯文本数据转换为 json 的相关文章

随机推荐

  • Lock.__enter__() 和 Condition.__enter__() 的文档

    我试图找到哪里 enter and exit Python 2 7 记录了线程化对象的方法 这主文档页面 https docs python org 2 7 library threading html condition objects关
  • 可以判断哪个工作簿调用了 Excel 加载项中的函数 (xla)

    我想在 Excel 加载项中编写一个小日志记录函数 我将从许多不同的工作簿中调用该函数 我希望能够通过仅传递日志文本来调用它 并且日志函数本身可以处理时间戳 工作簿名称 etc 但是 我无法使用 ThisWorkbook 或 ActiveW
  • 如何实现基于Python的四连棋检查胜负的功能?

    我正在编写一个 Connect 4 游戏 您可以在其中选择棋盘的大小 该游戏适用于大多数棋盘尺寸 但当棋盘比宽高时就会出现问题 我不断收到索引超出范围的错误 我不确定我做错了什么 这就是我现在的检查功能 因为它是唯一给我带来问题的部分 de
  • 如何获取 TensorFlow 数据集每个类的样本

    我正在使用 TensorFlow 数据集中的数据集 有没有一种简单的方法来访问数据集中每个类的样本数量 我正在搜索 keras api 但没有找到任何可以使用的函数 最终我想绘制一个条形图 其中 Y 轴为样本数 X 轴为 int 指示类 I
  • 计算剩余时间?

    我有一个这样生成的时间 SimpleDateFormat dateFormatUCT new SimpleDateFormat yyyy MM dd HH mm dateFormatUCT setTimeZone TimeZone getT
  • 使用 Castle ActiveRecord 插入多行并忽略任何重复的推荐方法

    我有一个 webmethod 可以将一堆菜谱插入到数据库的队列中 用于存储用户有兴趣烹饪的菜谱 类似于 NetFlix 的电影队列 用户可以一次检查一堆食谱并将其排队 我有类似这样的代码 WebMethod public void Enqu
  • 发送带有标头的 HTTP GET 请求

    我想从我的 Android 应用程序请求带有 GET 参数的 URL 并读取响应 在请求中我必须添加一个x zip header 网址是这样的 http example com getmethod aspx id 111 method Te
  • “on”和“live”或“bind”有什么区别?

    在 jQuery 中v1 7一种新方法 on http api jquery com on 加入 从文档中 on 方法将事件处理程序附加到 jQuery 对象中当前选定的元素集 从 jQuery 1 7 开始 on 方法提供了附加事件处理程
  • c中malloc()和free()的正确使用

    我是 C 新手 所以如果这太明显了 请原谅我 但我在查找代码中导致分段错误的错误时遇到了问题 我相信问题可能出在 malloc 的使用上 但我并不肯定 这是代码 include
  • 动态添加名称以数值开头的变量

    我注意到 如果我尝试创建一个具有以数值开头的键名称的对象 则会抛出错误 这与此处概述的 JavaScript 命名一致 哪些字符对于 JavaScript 变量名有效 https stackoverflow com q 1661197 36
  • C++ 标准中的 if..else 语句

    来自 C 标准第 6 4 1 节 if 语句 如果条件 6 4 为真 则执行第一个子语句 如果选择的 else 部分 语句存在并且条件产生 false 第二个 子语句被执行 在 if 语句的第二种形式中 包括 else 如果第一个子语句也是
  • 根据AMD64 ABI,什么样的C11数据类型是数组

    我正在研究 OSX 上使用的 x86 64 的调用约定 并正在阅读 聚合和联合 部分System V x86 64 ABI 标准 http www x86 64 org documentation abi pdf 它提到了数组 我认为这就像
  • 当AllowsTransparency =“True”时,wpf WindowsFormsHost 不可见

    有人在这里解决了这个问题http social msdn microsoft com forums en US wpf thread 6f9dd3b5 af92 4076 9b4e 1a770dd52f70 http social msdn
  • 如何将 folium.icon 与 fontawesome 一起使用

    我希望使用自定义的 fontawesome 图标 谢谢 我想使用 fontawesome 图标更改 folium icon 中的图标 例如 我想改变这个 import folium m folium Map location 25 0431
  • 如何在 PySpark 2.x 中使用修剪?

    Code is from pyspark sql import functions as F df df select F trim MyColumn 错误是 Py4JError An error occurred while callin
  • 使用 CMake,如何从 CTest 获取详细输出?

    我正在使用 CMake 来构建我的项目 我添加了一个使用 Boost 单元测试框架的单元测试二进制文件 这一二进制文件包含所有单元测试 我添加了由 CTest 运行的二进制文件 ADD EXECUTABLE tftest test main
  • WPF 中的日历和日期选择器控件之间的区别?

    WPF 中的日历和日期选择器控件之间的区别 选择其中任何一个有什么标准吗 Per the 日期选择器文档 http msdn microsoft com en us library system windows controls datep
  • 无法使用 UTF8 编码转换 HttpResponseMessage

    我正在努力解决通常的转换问题 但不幸的是我无法找到适合我的具体问题的任何内容 我的应用程序正在从 php 服务器接收 System Net Http HttpResponseMessage UTF8 编码 包含一些字符 如 u00c3 u0
  • 使总和为 100% 的 SQL 舍入百分比 - 1/3 为 0.34、0.33、0.33

    我目前正在尝试用百分比列拆分一个值 但由于大多数百分比值都是 1 3 因此我无法获得带有两位小数的绝对 100 例如 Product Supplier percentage totalvalue customer split decimal
  • 将纯文本数据转换为 json

    我有一些数据正在尝试使用 javascript 进行处理 DATA A Category one 1 item one 2 item two B Category two 3 item three 4 item four C Categor