需要一些关于如何正确递归地执行此操作的建议。
基本上我正在做的是输入一堆文本并将其作为 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;
};