我将JSON String作为下一个从上一个函数返回的字符串。它是一个字符串,而不是对象。
{
"qs1": {
"mistake": [{
"id": 1,
"name": "Subject-Verb Agreement Errors."
}, {
"id": 1,
"name": "Sentence Fragments."
}, {
"id": 1,
"name": "Missing Comma After Introductory Element."
}]
}
}
我现在使用Jquery.parseJSON()
将其转换为对象,我想使用长度来查找许多错误。
问题:
返回的JSON的第一个键qs1
可以与qs2,qs3等不同。我不想使用循环来获取键名qs1,qs2,因为仅获得键名并且如果我有很多疑问,这将花费很多时间。而且,我不知道问题的数量。
是否可以在不知道键名(qs1)的情况下检查qs1.mistake.length>0
。
下面是我的功能:
function SelectiMstake(value) {
alert(value);
var value2 = jQuery.parseJSON(value);
var NewHtml="";
if(value2.mistake.length>0) {
alert("mistake found");
//for(var mistakei = 0; mistakei < value2.mistake.length; mistakei++) {
// NewHtml+= "<input type='check' value='"+ value2.mistake[mistakei] +"'>"+ value2.mistake[mistakei] +"<br>";
// }
//$("#DisplayMistakes").html(NewHtml);
} else {
alert("No mistakes found in the following Question");
}
}
如果在获取JSON字符串时没有办法坚持我的问题部分,那么我想从字符串的开头删除{"qs1":
,从最后的字符串删除}
。不要使用字符从头开始删除,否则{"qs12":
会导致错误的结果。