[英]Convert a map to a json object in angular
我目前正在使用 Angular 4 开发一个应用程序。我想知道是否可以在 angular 中将地图转换为 json ? 这是我的地图结构
selectedLanguageDetails.set("languageName", element.languageName);
selectedLanguageDetails.set("languageCode", element.languageCode);
selectedLanguageDetails.set("internalId", element.internalId);
json结构
"languages": [
{
"internalId": 101,
"languageCode": "ms",
"languageName": "Malay"
}
],
转换为对象 - 展开 Map 以获取 [key, value] 对的数组,并将Array#reduce扩展为对象。
转换为字符串 - 使用Array#map将每一对转换为字符串,而不是 reduce,使用Array#join结果:
const selectedLanguageDetails = new Map(); selectedLanguageDetails.set("languageName", "English"); selectedLanguageDetails.set("languageCode", "en"); selectedLanguageDetails.set("internalId", 15); const obj = [...selectedLanguageDetails].reduce((o, [key, value]) => (o[key] = value, o), {}); const string = [...selectedLanguageDetails].map(([key, value]) => `${key}:${value}`).join(', '); console.log(obj); console.log(string);
要将 Map 转换为 JSON 对象或字符串,您可以使用以下代码。
let jsonObject = {};
selectedLanguageDetails.forEach((value, key) => {
jsonObject[key] = value
});
string jsonString = JSON.stringify(jsonObject);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.