来自Rails API的错误响应给了我这个json正文:
{" mobile":["已经拍摄"],"电子邮件":["已经拍摄"]}
如您所见,每个字段都可以包含一系列与之关联的错误消息。
我正在努力解构'这变成了一个简单的字符串:
"移动已经被占用,电子邮件已经被采取"
我试图使用地图并为其提供功能。显然,我需要考虑这些数组中可能有多个元素的事实,例如:
{"移动":["已经被采取","必须从07开始为英国"],"电子邮件":[& #34;已经拍摄"]}
然后应该成为:
"移动设备已经开始使用,移动设备必须从英国开始07,电子邮件已经开始使用#34;
答案 0 :(得分:1)
可以这样做:
let a = JSON.parse('{"mobile":["is already taken","must start 07 for UK"],"email":["is already taken"]}');
let message = Object.keys(a).reduce((prev, next) => prev.concat(a[next].map(v => next + ' ' + v).join(', ')), []).join(', ');
答案 1 :(得分:1)
没有任何实际的努力,或者至少没有提供代码,感觉就像做某人的功课。另一方面,这些都是我喜欢的有趣事物。不需要地图或其他任何东西。只是简单的TypeScript:
let errorMessages: string[] = [];
let json: string = {"mobile":["is already taken","must start 07 for UK"],"email":["is already taken"]};
let keys: string[] = Object.keys(json);
for(let key of keys) {
for(let msg of json[key]) {
errorMessages.push(key + ' ' + msg);
}
}
console.log(errorMessages.join(', '));