gpt4 book ai didi

javascript - 如何从字符串左侧删除字符,直到第一个 : if found?

转载 作者:行者123 更新时间:2023-11-30 14:16:08 25 4
gpt4 key购买 nike

我有下面的 JSON 字符串,它是从上一个函数返回的。它是一个字符串,而不是对象。

{
"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 等。我不想使用循环来获取 key 名称 qs1、qs2,因为如果只获取 key 名称会花费很多时间,而且如果我有很多问题。另外,我不知道问题的数量。

有没有办法在不知道 key 名称(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": 这将给出错误的结果。

最佳答案

使用Object.values() ,然后选择第一个元素,或者循环遍历值(现在是一个数组),如果你想检查每个 qs*:

var json = '{"qs1":{"mistake":[{"id":1,"name":"Subject-Verb Agreement Errors."},{"id":1,"name":"Sentence Fragments."},{"id":1,"name":"Missing Comma After Introductory Element."}]}}';
var parsed = JSON.parse(json);
var vals = Object.values(parsed);

console.log(vals[0]);

console.log(vals[0].mistake.length); // 3

关于javascript - 如何从字符串左侧删除字符,直到第一个 : if found?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53553763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com