【问题标题】:Conversion of string to list from a file将字符串从文件转换为列表
【发布时间】:2017-01-10 18:41:43
【问题描述】:

我有一个文件,其中的数据(列表)看起来像这样

[5,[5,[5,100,-200],200,-400],300,-500]

现在,当我在 Angular 应用程序中读取此文件时,文件内容将转换为字符串,因此将返回一个字符串对象,看起来像这样

"[5,[5,[5,100,-200],200,-400],300,-500]"

有没有办法可以将它转换回它最初存在的列表?

有一种方法,但解决方案是针对不同的问题。如果我的文件有数据

200
300
400
500

然后我可以使用分割这个字符串

var newData = fileContent.split('\n');
desiredList = []
for(var z=0;z<newData.length;z++){
        desiredList.push(parseInt(newData[z]))
    }

想要的列表会给我一个我想要的列表。但是对于我问的问题,有什么办法吗?

【问题讨论】:

  • JSON.parse("[5,[5,[5,100,-200],200,-400],300,-500]")
  • 只要您的列表是与 JSON 兼容的数组结构,以下将起作用:var list = JSON.parse(string);
  • @dandavis 谢谢。该解决方案有效:)
  • @PatrickDenny 谢谢 :)

标签: javascript angularjs list string-conversion


【解决方案1】:

JSON.parse("[5,[5,[5,100,-200],200,-400],300,-500]") 应该将其转换为 JavaScript 对象。

【讨论】:

    【解决方案2】:

    您可以使用eval()

    var str = "[5,[5,[5,100,-200],200,-400],300,-500]";
    var jsonArr = eval(str);
    console.log(jsonArr);

    【讨论】:

    • 当你有有效的 JSON 时,不需要使用 eval,解析比评估更快...
    • 除非不可避免,否则不要使用 eval(),出于安全原因...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    相关资源
    最近更新 更多