【问题标题】:AngularJS plain text parse with some simple rulesAngularJS 纯文本解析与一些简单的规则
【发布时间】:2016-03-28 08:21:32
【问题描述】:

我有一个包含一些数据的.txt 文件。我使用 angular $http 服务获取数据。但问题是数据不是json格式,而是有一些基本规则可以转换成json

以下是数据示例:(我只写第一行,其他行与第一行类似)

有 12 个引号和一些数据。

"123456789","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data"

在上面一行之后,新的一行以类似的结构开始。

我如何将其解析为像json 这样的数据交换格式?见类似question and answer

【问题讨论】:

    标签: javascript angularjs json parsing plaintext


    【解决方案1】:

    您可以使用split 将其转换为值数组。

    var text = '"123456789","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data"';
    
    text = text.split(',');
    console.log(text);
    

    JSFiddle

    【讨论】:

    • 非常感谢。但是你的解决方案有问题。你把它放入数组中,例如我可以用文本[2]打印数字2,但是关于文本部分,我不知道它有多少个字符。
    • 呃?不,您可以按从 0 开始的键号打印每个值,因此 array[0] 将是“123456789”,而 array[3] 将是“一些数据”
    • 不,它不像你说的那样工作。每个索引都是一个字符,而不是整个字符串。
    • 您需要将拆分添加到一个变量我忘记了jsfiddle.net/michelem09/1roafj0j
    • 换行符是一个可以用作分隔符的字符,就像split('\n') 应该可以使用的任何一个字符一样
    【解决方案2】:

    另一种方法是使用JSON.parse():

    var elements = JSON.parse('["123456789","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data","some data"]');
    console.dir(elements);
    

    这样做的好处是它可以正确解析包含逗号“,”的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-28
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 2020-06-07
      相关资源
      最近更新 更多