javascript - 将数组形式的字符串转换为实际数组

标签 javascript jquery arrays json string

我有一个以下格式的文本文件:

[[Line1TextA,[Lat,Long]], [Line1TextB,[Lat,Long]], ...]
[[Line2TextC,[Lat,Long]], [Line2TextD,[Lat,Long]], ...]
.
.
.

我正在解析一个文本文件(已完成),我想将数组格式的字符串转换为实际数组并将它们存储为要使用的变量。

我尝试使用 JSON.parse,如下所示:Convert string containing arrays to actual arrays但我无法让它工作(语法错误)。这是我的尝试:https://jsfiddle.net/5yz95ktg/

var myStr = '[[Line1TextA,[纬度,经度]], [Line1TextB,[纬度,经度]]]'

  • var myArr = JSON.parse(myStr);
  • var myArr = JSON.parse("["+ myStr + "]");

编辑:

function readFile(query) {
    $.get('file.txt', function(data) {
        var lines = data.split("\n");    
        for (var i = 0, len = lines.length; i < len; i++) {
            if (lines[i].indexOf(query) > -1) { // Found a match
                var myArr = JSON.parse(lines[i]); // #NOT WORKING
            }
        }
    });
}

最佳答案

那么,您需要确保它们是字符串:

var myStr = '[[Line1TextA,[Lat,Long]], [Line1TextB,[Lat,Long]]]'
//-------------^

所以将其更改为:

var str = '[["Line1TextA",["Lat","Long"]],["Line1TextB",["Lat","Long"]]]'

还要确保在 JSON 中使用 ",因为 ' 无效。

关于javascript - 将数组形式的字符串转换为实际数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925461/

相关文章:

javascript - 如何在fabricjs多边形上打洞

javascript - 为什么这个按钮不旋转是 visual studio?

javascript - 在 JS 中向突出显示的文本添加标签不起作用

Javascript通过对象的属性过滤对象数组

javascript - 让网络字体在 HTML5 Windows Phone 应用程序上工作?

javascript - 使用 JavaScript 的人数每天都在增加吗?

jquery - 如何使用 jQuery 从 xml 中查找/提取数据

javascript - 为什么 jquery 数据表在搜索后没有填充新更新的数据?

java - Php 与 Java 数据库字符串比较

c++ - 在 main() 中为通用模板类选择数据类型