【发布时间】:2012-08-03 09:00:33
【问题描述】:
需要一些关于如何正确递归地执行此操作的建议。
基本上我正在做的是输入一堆文本并将其作为 JSON 返回。
例如:
正文:
q
b
name:rawr
返回:
[
"q",
"b",
{
"name": "rawr"
}
]
还有以下输入:
q
b
name:rawr:awesome
会返回(输出格式不重要):
[
"q",
"b",
{
"name": {
"rawr": "awesome"
}
}
]
如何修改以下代码以允许以递归方式在对象中包含对象。
var jsonify = function(input){
var listItems = input, myArray = [], end = [], i, item;
var items = listItems.split('\r\n');
// Loop through all the items
for(i = 0; i < items.length; i++){
item = items[i].split(':');
// If there is a value, then split it to create an object
if(item[1] !== undefined){
var obj = {};
obj[item[0]] = item[1];
end.push(obj);
}
else{
end.push(item[0]);
}
}
// return the results
return end;
};
【问题讨论】:
-
您的 jsfiddle 毫无价值 - 它不包含该代码的演示应用程序。 jsfiddle 不是 stackoverflow 的 sn-p 托管程序,您需要在问题中发布相关代码。
标签: javascript