我有一个以字符串格式存储的整数数组。
例如:
"[3,2,1]"
如何将其转换为实际数组?
我搜索了一个简单的解决方案的高低,但我似乎无法找到它。
将字符串传递给JSON.parse和$ .parseJSON会导致“[”显示为0索引。所以我假设它没有做任何事情。
答案 0 :(得分:0)
从您更新的说明中看来,您有一个以"
开头和结尾的字符串,因此简单的JSON.parse不起作用,因为这只会转换"
之间的内容。一个字符串。你需要两次JSON.parse,因为你有一个嵌入字符串的整数数组,或者手动解析。
JSON.parse两次:
var str = '"[3,2,1]"';
var parsedStr = JSON.parse(str); // results in a string with contents [3,2,1]
var intArray = JSON.parse(parsedStr); // results in an int array with contents [3,2,1]
或者,如果格式在某些时候可能会变为非JSON,那么手动方式:
var str = '"[3,2,1]"';
var intArray = [];
str.substr(2,str.length-3).split(/,/g).forEach(function(numStr) {
intArray.push(parseInt(numStr));
});
答案 1 :(得分:0)
var arr = JSON.parse(“[3,2,1]”)
答案 2 :(得分:0)
var text = "[3,2,1]";
var obj = JSON.parse(text);
console.log(obj);
答案 3 :(得分:0)
您可以使用jQuery $.parseJSON()
方法:
$(this).parents('tr').find('.receipt_info').show();
var arr = $.parseJSON("[3,2,1]");
var str = "[3,2,1]";
console.log( $.parseJSON(str) );
或纯粹的javascript方法 JSON.parse()
:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
希望这有帮助。
var arr = JSON.parse("[3,2,1]");
var str = "[3,2,1]";
console.log( JSON.parse("[3,2,1]") );
答案 4 :(得分:0)
所以我发现我需要将第一个和最后一个字符切掉,因为某些原因字符串被返回为&#34;&#34; [3,2,1]&#34; &#34;而不是&#34; [3,2,1]&#34;即使它没有引号存储。