javascript - 以 Angular 将 map 转换为json对象

标签 javascript json angular angular2-template

我目前正在使用 Angular 4 开发一个应用程序。我想知道是否可以将 map 转换为 angular 中的 json? 这是我的 map 结构

  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到一个对象。

要转换为字符串 - 不要使用 reduce,而是使用 Array#map将每对转换为字符串,以及 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);

关于javascript - 以 Angular 将 map 转换为json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970654/

相关文章:

javascript - react native 句柄翻译和语言

java - .execute 无法解析为类型 - AsyncTask (Android)

angular - 操作已正确分派(dispatch),但 reducer 未被调用

c# - 使用 JSON.net 获取 JToken 的名称/ key

angular - 将值传递给子组件 Angular2

angular - 无法绑定(bind)到 FormGroup,因为它不是 'form' 的已知属性(已加载 FormsModule、ReactiveFormsModule)

javascript - 检测浏览器对 SVGFragmentIdentifier(s) 的支持

javascript - 外部文件中的函数不起作用

javascript - 悬停时如何打开x-editable弹出窗口?

javascript - 循环遍历 JSON 并动态填充数据