Javascript JSON解析不解析字符串(位置0处JSON中的nexpected标记D)
传递给JSON.parsel字符串时,函数objChecker不起作用,但在JSON中的位置0处得到错误标记D 尝试先执行json stringify,但它总是返回字符串,而不是对象,Javascript JSON解析不解析字符串(位置0处JSON中的nexpected标记D),javascript,json,Javascript,Json,传递给JSON.parsel字符串时,函数objChecker不起作用,但在JSON中的位置0处得到错误标记D 尝试先执行json stringify,但它总是返回字符串,而不是对象, 我想做的主要想法是,如果它是来自arr的某个元素,将其解析为object您的数组还包含非JSON的字符串,并且无法解析。如果要跳过这些,请确保在JSON.parse周围放置一个try catch: let str = 'Delete {%{"color":"#fff","content":"1"}%} item
我想做的主要想法是,如果它是来自arr的某个元素,将其解析为object您的数组还包含非JSON的字符串,并且无法解析。如果要跳过这些,请确保在JSON.parse周围放置一个try catch:
let str = 'Delete {%{"color":"#fff","content":"1"}%} item from my server';
const reworkString = (str) => {
let separators = ['{%', '%}'];
let newStr = str.split(new RegExp(separators.join('|'), 'g'));
const objChecker = (el) => {
JSON.parse(el)
console.log(el)
return elm.hasOwnProperty('content');
}
newStr = newStr.map(item=>{
if (objChecker(item)) {
return 'good'
}
else {
return item
}
})
}
reworkString(str);
没关系,但它就像字符串一样,为什么不是对象呢?
let str = 'Delete {%{"color":"#fff","content":"1"}%} item from my server';
const reworkString = (str) => {
let separators = ['{%', '%}'];
let newStr = str.split(new RegExp(separators.join('|'), 'g'));
const objChecker = (el) => {
try {
JSON.parse(el)
} catch (e) {
return false;
}
return el.hasOwnProperty('content');
}
newStr = newStr.map(item=>{
if (objChecker(item)) {
return 'good'
}
else {
return item
}
})
}
reworkString(str);