Javascript 如何从字符串左侧删除字符,直到第一个:如果找到?
下面是从前面的函数返回的JSON字符串。它是一个字符串,不是对象Javascript 如何从字符串左侧删除字符,直到第一个:如果找到?,javascript,jquery,json,Javascript,Jquery,Json,下面是从前面的函数返回的JSON字符串。它是一个字符串,不是对象 { "qs1": { "mistake": [{ "id": 1, "name": "Subject-Verb Agreement Errors." }, { "id": 1, "name": "Sentence Fragments." }, { "id":
{
"qs1": {
"mistake": [{
"id": 1,
"name": "Subject-Verb Agreement Errors."
}, {
"id": 1,
"name": "Sentence Fragments."
}, {
"id": 1,
"name": "Missing Comma After Introductory Element."
}]
}
}
我使用Jquery.parseJSON()
将其转换为一个对象,现在我想使用length查找一些错误
问题:
返回的JSON的第一个键qs1
可能与qs2、qs3等不同。我不想使用循环来获取密钥名称qs1,qs2,因为如果我有很多问题,那么只获取密钥名称会花费很多时间。还有,我不知道有多少问题
有没有办法在不知道密钥名称(qs1)的情况下检查qs1.error.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");
}
}
功能选择桩(值){
警报(值);
var value2=jQuery.parseJSON(值);
var NewHtml=“”;
如果(值2.错误.长度>0){
警惕(“发现错误”);
//对于(var mistakei=0;mistakei”;
// }
//$(“#displayErrors”).html(NewHtml);
}否则{
警惕(“以下问题中未发现错误”);
}
}
如果在获取JSON字符串时我不想继续使用问题部分,那么我想从字符串的开头删除{“qs1”:
,从最后一个字符串删除}
。不要使用字符从开始处删除,否则{“qs12”:
这将给出错误的结果。如果要检查每个qs*
,请使用,然后只选择第一个元素,或循环值(现在是一个数组):
var json='{“qs1”:{“error”:[{“id”:1,“name”:“主谓一致性错误”。},{“id”:1,“name”:“句子片段”。},{“id”:1,“name”:“介绍性元素后缺少逗号。”}]};
var parsed=JSON.parse(JSON);
var VAL=对象值(已解析);
console.log(VAL[0]);
console.log(VAL[0]。错误。长度);//3
只要使用对象。如果你不关心键的话,值就可以了?你忘了用qs1
作为前缀。所以:value2.qs1.error.length>0
@trincot我不想使用键名qst1,因为每次都不一样。qs2,qs3…qs30。我正在寻找另一种方法。vals[0].Error.length未工作&还尝试了VAL[0]。length。@SayedMohdAliVAL[0].error.length
在这里起作用。我直接复制了你的JSON,并更新了我的答案,以证明这是有效的。是的,为我工作了2,谢谢我可以在2分钟后接受答案。感谢答案,我刚刚检查了它的功能,它正在将一个对象转换为数组。这是我想要的我的键的索引,当它“这是一个对象。@SayedMohdAli明确地签出了迭代对象的object.keys()
、object.values()
和object.entries()
。