Javascript 无法使用JSON.parse从textarea元素分析有效的JSON
,而类似的方法也没有帮助 下面的JSON是有效的 但是,调用Javascript 无法使用JSON.parse从textarea元素分析有效的JSON,javascript,json,forms,parsing,textarea,Javascript,Json,Forms,Parsing,Textarea,,而类似的方法也没有帮助 下面的JSON是有效的 但是,调用JSON.parse会抛出一个错误 如何从textarea元素解析有效的JSON JSfiddle: let text=document.getElementById(“testBox”).value; 让jsonObject=JSON.parse(文本) { “名称”:“Foobar”, “最喜欢的宠物”:[“水豚”、“蜥蜴”], “最喜欢的水果”:[“鳄梨”], “地址”:{ “城市”:“FairyVille”, “街道”:“主
JSON.parse
会抛出一个错误
如何从textarea元素解析有效的JSON
JSfiddle:
let text=document.getElementById(“testBox”).value;
让jsonObject=JSON.parse(文本)代码>
{
“名称”:“Foobar”,
“最喜欢的宠物”:[“水豚”、“蜥蜴”],
“最喜欢的水果”:[“鳄梨”],
“地址”:{
“城市”:“FairyVille”,
“街道”:“主街42号”
}
}
这是因为jQuery使用非中断空格nbsp
或charcode\xA0
不是正常空格。你需要更换它
let text=$('#testBox').val();
让jsonObject;
试一试{
jsonObject=JSON.parse(文本);
}捕获(ex){
日志(“错误:”,例如消息)
}
text=text.replace(/\xA0/g,“”);//或\s,但也将替换换行符
jsonObject=JSON.parse(文本);
log(“名称:”,jsonObject.name)
{
“名称”:“Foobar”,
“最喜欢的宠物”:[“水豚”、“蜥蜴”],
“最喜欢的水果”:[“鳄梨”],
“地址”:{
“城市”:“FairyVille”,
“街道”:“主街42号”
}
}
您的一些空白字符出现问题。您建议采用什么解决方案?用户像这样上传文本,所以我们需要一些自动机制来清除文本。只需删除所有前导/尾随空格?您可以$('#testBox').val()。替换(/[^!-~]/g')
可以有效地删除字符范围33-126之外的所有字符,但实际上我不会清除它,如果解析失败,我只会向用户返回一个错误。因为可能存在一个合法的解析错误,您将不得不处理该错误。