Pet*_*ber 1 javascript jquery json dom
可能重复:
将Javascript数组转换为JSON
我试图弄清楚如何返回一个数组并将其作为字符串存储在json变量中,这可能吗?[如果没有,我如何返回所有输出并存储它json?] - 如果你知道我的意思...
//arr = ["a", "b", "c", "d", "ddd"]
//largest = 3
var generateEntryCodes = function(arr, largest) {
var newText = ""
for(var i=0; i < arr.length; i++) {
if (arr[i] == null) {
arr.splice(i, 1);
i--;
}
var counts = arr[i].length != largest ? (parseInt(largest) - parseInt(arr[i].length)) : 0
for (var z=0; z<counts;z++)
newText += "0"
var result = arr[i].splice( 0, 0, newText )
newText = ""
result = [{
"result": result,
"total": result.length
}]
}
return result
}
Run Code Online (Sandbox Code Playgroud)
我试着将上面的代码输出为:
00a
00b
00c
00d
ddd
Run Code Online (Sandbox Code Playgroud)
但是当我闪现json的结果时.我只得到"ddd"...所以我尝试在结果= [{}]之前添加jSON代码:
$("textarea").val( $("textarea").val("") + result + "\n")
//outputs:
00a
00b
00c
00d
ddd
Run Code Online (Sandbox Code Playgroud)
如何从结果变量获取所有输出并将其存储在JSON变量中.
问题:代码只存储到最后一个数组的JSON中.
一般来说,您可以简单地构造JavaScript对象,然后将其序列化为JSON,如下例所示:
var myArray = ['a','b','c'];
var jsonString = JSON.stringify(myArray);
Run Code Online (Sandbox Code Playgroud)
这应该工作.请注意,您可能必须包含JSON2.js,以防您的浏览器本身不支持它.
//编辑:
这应该有效:http://jsbin.com/welcome/31083/edit
这是代码:
var generateEntryCodes = function(arr, largest) {
var newText = "",
codes = [],
currentElement,
result;
for(var i=0; i < arr.length; i++) {
currentElement = arr[i];
var zerosToPrepend = largest - currentElement.length;
for (var z = 0; z < zerosToPrepend; z++){
newText += "0"
}
currentElement = newText + currentElement;
codes.push(currentElement);
newText = ""
}
result = {
codes: codes,
total: codes.length
};
return result
}
var result = generateEntryCodes(["a", "b", "c", "d", "ddd"], 3);
console.log(result);
Run Code Online (Sandbox Code Playgroud)
这应该返回一个如下所示的JavaScript对象:
{"codes": ["00a", "00b", "00c", "00d", "ddd"], "total": 5}
Run Code Online (Sandbox Code Playgroud)
然后,您可以获取该结果并使用JSON.stringify(...)它将其转换为JSON字符串.
| 归档时间: |
|
| 查看次数: |
10157 次 |
| 最近记录: |