使用javascript从纯文本筛选并创建JSON对象

使用javascript从纯文本筛选并创建JSON对象,javascript,arrays,json,Javascript,Arrays,Json,我从输入源生成以下纯文本,如下所示: [ { traded: shortform1, close: 343, previousClose: 355 }, { traded: shortform2, close: 348, previousClose: 355 } ] 1农业发展银行lt简称1346 34334396713463330659 78-3.00-0.87 3.00 0.87 361.80 400.07 449.86 472.00 283.00 2 Ap

我从输入源生成以下纯文本,如下所示:

[
 {
  traded: shortform1,
  close: 343,
  previousClose: 355
 },
 {
  traded: shortform2,
  close: 348,
  previousClose: 355
 }
]
1农业发展银行lt简称1346 34334396713463330659 78-3.00-0.87 3.00 0.87 361.80 400.07 449.86 472.00 283.00

2 Api Pwr Cpy缩写2355 355 3473482702355942793 36-7.00-1.97 8.00 2.31 366.09 465.42 479.63 683.00 246.00

现在,我需要一个包含JSON对象的数组,如下所示:

[
 {
  traded: shortform1,
  close: 343,
  previousClose: 355
 },
 {
  traded: shortform2,
  close: 348,
  previousClose: 355
 }
]

此函数将每行返回一个对象。 我希望你能做剩下的事

function getObject(line)
{
  var splitLine = line.split(' '), offset=parseInt(splitLine[0]);
  return {traded:splitLine[6-offset],close:splitLine[10-offset],previousClose:splitLine[12-offset]}
}

编辑:刚刚意识到缩写形式并不总是在同一个地方。我已经更新了代码来解决这个问题,但这只是一个猜测,因为您没有提供足够的信息

太好了,到目前为止您尝试了什么?粗体数字的区别是什么?你是如何做到这一点的?共享您的代码。@CertainPerformance:对于数字,索引位置是4和6,即343355,但是对于短代码,索引位置根据起始名称而变化。这是什么
shortcode
?您是指
traded
属性吗?只有一个JSON对象,可能您只是想要一个对象,还是想要一个有效的JSON文本字符串?也许您应该在新行上拆分字符串,然后在空格上解析每行,提取所需数据并将其格式化为对象,如果您愿意,可以将其字符串化为JSON,也可以将其保留为对象。“…刚刚意识到的缩写形式并不总是在同一个位置”。确实如此。@awfullyawful缩写并不总是在同一个位置。我知道samcro,代码通过使用第一个字符并进行相应调整来处理它。如果这不正确,那么您需要提供更多信息,因为它非常适合您给出的两个示例。