Javascript 用angular生成的Json搞砸了
我想从这样的多数组生成jsonJavascript 用angular生成的Json搞砸了,javascript,json,angularjs,multidimensional-array,Javascript,Json,Angularjs,Multidimensional Array,我想从这样的多数组生成json var qus ={ { "qus" :"what is your name?", "option1" : {"ans" : Alex, "cor:"false"}, "option2" : {"ans" : Hervy, "cor:"false"}, "option3" : {"ans" : Rico, "cor:"true"}, "option4" : {"ans" : Tom, "cor:"false"}, }, { "qus" :"what is
var qus ={
{
"qus" :"what is your name?",
"option1" : {"ans" : Alex, "cor:"false"},
"option2" : {"ans" : Hervy, "cor:"false"},
"option3" : {"ans" : Rico, "cor:"true"},
"option4" : {"ans" : Tom, "cor:"false"},
},
{
"qus" :"what is your brother's name?",
"option1" : {"ans" : Alex, "cor:"false"},
"option2" : {"ans" : Hervy, "cor:"true"},
"option3" : {"ans" : Rico, "cor:"false"},
"option4" : {"ans" : Tom, "cor:"false"},
},
}
但是,如果我通过文本区域获取数组值,它不会生成。(查看此)
它添加所有br标记
在这里,它正在打破一切。(查看此)
你介意解释一下吗?如果我从textarea获取值,为什么它不起作用?我如何从混乱的PLNK中获得类似于我上面发布的json的结果 您需要执行JSON.parse。您需要这样做,因为“objects”对象是“string”类型的对象。因此,当您在中执行时,您将迭代每个字符,这将不会给出您想要的结果。您必须解析JSON字符串并从中提取数组。其余的逻辑似乎很好 尝试将此作为您的scope.generate函数
$scope.generate=function(){
var objects=document.getElementById(“inpt”).value;
var el=document.getElementById(“out”);
var newObj=JSON.parse(对象);
el.innerHTML+='var qus={
';
对于(我在newObj){
var qset=newObj[i];
el.innerHTML+='{
';
el.innerHTML+=''qus:“+qset[0]+',
”;
对于(qset中的n){
如果(n==0)继续;
变量名称集=qset[n];
el.innerHTML+='选项'+n;
el.innerHTML+='':{“ans”:'+名称集[0];
el.innerHTML++=',“cor:“'+nameset[1]+'”},
';
}
el.innerHTML+='},
';
}
el.innerHTML+='}';
//el.innerHTML=JSON.stringify(对象);
console.log(对象);
};
Plz解决这个和这个问题,我的答案对你有帮助吗?
$scope.generate = function() {
var objects = document.getElementById("inpt").value;
var el = document.getElementById("out");
var newObj = JSON.parse(objects);
el.innerHTML += 'var qus ={ <br>';
for (i in newObj) {
var qset = newObj[i];
el.innerHTML += '{ <br>';
el.innerHTML += '"qus" :"' + qset[0] + '",<br>';
for (n in qset) {
if (n == 0) continue;
var nameset = qset[n];
el.innerHTML += '"option' + n;
el.innerHTML += '" : {"ans" : ' + nameset[0];
el.innerHTML += ', "cor:"' + nameset[1] + '"},<br>';
}
el.innerHTML += '},<br><br>';
}
el.innerHTML += '}';
//el.innerHTML = JSON.stringify(objects);
console.log(objects);
};