将精确字符串转换为 Javascript 数组
Turning an exact string into a Javascript array
我有一个外部 API 创建一个字符串,我想将其与 Flot 图一起使用。
这是 API returns:
[[0, 240.5],[1, 238.77],[2, 240.46],[30, 243.99]]
但是,在 JQuery returns 中使用 $.get
作为字符串,而我希望它作为 Javascript 数组完全相同。
有没有什么办法可以完全按照所示将字符串更改为数组?
解析它。
var yourvar = "[[0, 240.5],[1, 238.77],[2, 240.46],[30, 243.99]]"; // or just "data" variable in your case (using $.get)
var array = JSON.parse(yourvar);
查看 JSON
对象。
它提供了一种将JSON个字符串解析为JSON个对象的方法:
var parsedData = JSON.parse(getData);
从那里,我们定义的变量parsedData
可以用作数组。
parsedData[0][0];
您可以使用 JSON.parse
:
$.get('url', function(data) {
var parsed = JSON.parse(data);
// now parsed will be a 2D array
});
尝试利用 $.getJSON
$.getJSON("/path/to/server")
.then(function(data) {
console.log($.isArray(data), data);
});
$.getJSON("https://gist.githubusercontent.com/"
+ "guest271314/23e61e522a14d45a35e1/raw/"
+ "62775b7420f8df6b3d83244270d26495e40a1e9d/a.json")
.then(function(data) {
console.log($.isArray(data), data)
}, function err(jqxhr, textStatus, errorThrown) {
console.log(errorThrown);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
我有一个外部 API 创建一个字符串,我想将其与 Flot 图一起使用。
这是 API returns:
[[0, 240.5],[1, 238.77],[2, 240.46],[30, 243.99]]
但是,在 JQuery returns 中使用 $.get
作为字符串,而我希望它作为 Javascript 数组完全相同。
有没有什么办法可以完全按照所示将字符串更改为数组?
解析它。
var yourvar = "[[0, 240.5],[1, 238.77],[2, 240.46],[30, 243.99]]"; // or just "data" variable in your case (using $.get)
var array = JSON.parse(yourvar);
查看 JSON
对象。
它提供了一种将JSON个字符串解析为JSON个对象的方法:
var parsedData = JSON.parse(getData);
从那里,我们定义的变量parsedData
可以用作数组。
parsedData[0][0];
您可以使用 JSON.parse
:
$.get('url', function(data) {
var parsed = JSON.parse(data);
// now parsed will be a 2D array
});
尝试利用 $.getJSON
$.getJSON("/path/to/server")
.then(function(data) {
console.log($.isArray(data), data);
});
$.getJSON("https://gist.githubusercontent.com/"
+ "guest271314/23e61e522a14d45a35e1/raw/"
+ "62775b7420f8df6b3d83244270d26495e40a1e9d/a.json")
.then(function(data) {
console.log($.isArray(data), data)
}, function err(jqxhr, textStatus, errorThrown) {
console.log(errorThrown);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>