Javascript 美化JSON对象警报

Javascript 美化JSON对象警报,javascript,json,Javascript,Json,我有一个JSON对象,当我提醒它时,我得到以下信息: 我想得到这个: 函数getNameById(id){ 返回usersArray.find(item=>item.id==id).name; } var usersArray=[ {“id”:“135”,“name”:“Jenny”}, {“id”:“162”,“name”:“Kelly”} ]; $(“#提交”)。点击(功能(e){ var错误={}; $(“.validation”)。每个(函数(){ var worker_id=$(

我有一个JSON对象,当我提醒它时,我得到以下信息:

我想得到这个:

函数getNameById(id){ 返回usersArray.find(item=>item.id==id).name; } var usersArray=[ {“id”:“135”,“name”:“Jenny”}, {“id”:“162”,“name”:“Kelly”} ]; $(“#提交”)。点击(功能(e){ var错误={}; $(“.validation”)。每个(函数(){ var worker_id=$(this.attr('id').replace(/[^\d]/g'); var w_name=getNameById(worker_id); 如果(!errors[w_name])errors[w_name]=[]; if($(this).val()==“”){ 错误[w_name]。推送($(this).attr('id')。替换(/[^a-zA-Z]/g',)+“必须填充!”); //错误[w_name]。推送(“第二个数字必须小于第一个”); } if($(this.attr('id')==“second-”+worker\u id&($(this.val()>$)(“#first-”+worker\u id+”).val()){ 错误[w_name]。推送(“第二个数字必须小于第一个”); } }); 警报(JSON.stringify(错误,null,2)); e、 预防默认值(); e、 停止传播(); });

首先
第二个
签名

错误中的JSON数据中提取数据,而不是直接运行
JSON.stringify
。您应该能够获得如下数据:
errors[“Jenny”]
以获得错误列表。然后根据您的喜好将它们组合成字符串。

错误中的JSON数据中提取数据,而不是直接运行
JSON.stringify
。您应该能够获得如下数据:
errors[“Jenny”]
以获得错误列表。然后根据您的喜好将它们组合成一个字符串。

将您的对象转换成如下字符串

让obj={
“珍妮”:[
“第二个数字必须小于第一个”,
“必须填写签名!”
]
};
设str=“”;
Object.keys(obj.forEach)(k=>{
str+=k+“:\n”;
str+=obj[k]。连接(“,\n”);
});

console.log(str)将对象转换为如下字符串

让obj={
“珍妮”:[
“第二个数字必须小于第一个”,
“必须填写签名!”
]
};
设str=“”;
Object.keys(obj.forEach)(k=>{
str+=k+“:\n”;
str+=obj[k]。连接(“,\n”);
});

console.log(str)老实说,我不认为你的问题绝对与JSON有关。某些JSON甚至出现的唯一原因是,您正在为
警报()生成它。

如果要连接某些数组项,可以使用和的组合:

根据您的喜好调整格式

var w_name=“Jenny”;
var错误={};
错误[w_name]=[];
错误[w_name]。推送(“第二个数字必须小于第一个”);
错误[w_name]。推送(“必须填写签名!”);

警报(w_name+“:\n”+错误[w_name]。加入(“,\n”)老实说,我不认为你的问题绝对与JSON有关。某些JSON甚至出现的唯一原因是,您正在为
警报()生成它。

如果要连接某些数组项,可以使用和的组合:

根据您的喜好调整格式

var w_name=“Jenny”;
var错误={};
错误[w_name]=[];
错误[w_name]。推送(“第二个数字必须小于第一个”);
错误[w_name]。推送(“必须填写签名!”);


警报(w_name+“:\n”+错误[w_name]。加入(“,\n”)您共享的代码与问题有什么关系?这就是我尝试过的可能重复的代码与问题有什么关系?这就是我尝试过的可能重复的代码,当它是动态的时又是什么?这都是硬编码的…在我的应用程序中,这都是动态的…对不起,这不是一个答案,这应该写在评论中!而当它是动态的时候呢?这都是硬编码的…在我的应用程序中,这都是动态的…对不起,这不是一个答案,这应该写在评论中!这正是我要找的!谢谢您只需将console.log更改为alert,它就完美了@lewis4u使用
console.log
更容易显示此处的结果是的,我理解,但我的问题是关于警报的,所以我认为它更适合。再次感谢你!一个小细节:只要对象包含多个用户,就会有一个缺少的换行符。这正是我要找的!谢谢您只需将console.log更改为alert,它就完美了@lewis4u使用
console.log
更容易显示此处的结果是的,我理解,但我的问题是关于警报的,所以我认为它更适合。再次感谢你!一个小细节:每当对象包含多个用户时,就会有一个缺少的换行符。好的,我同意……你能为我的问题建议一个更好的标题吗?所以它可以帮助其他人在数组中连接字符串?它是引导小姐,里面没有单词alert。我敢说,它比你想象的要简单一个数量级:)好吧,我同意……你能为我的问题建议一个更好的标题吗?这样就可以帮助其他人在数组中压缩字符串了?这是前导小姐,里面没有单词alert。我敢说这个比你想象的要简单一个数量级:)
alert(JSON.stringify(errors, null, 2));
   // ^^^^^^^^^^^^^^ This generates JSON
alert(w_name + ":\n" + errors[w_name].join(",\n"));