愿所有的美好和期待都能如约而至

有哪些JavaScript对象到对象映射库?

发布时间:  来源:互联网  作者:匿名  标签:error What JavaScript object to object mapping libraries exist? exception IT资讯 j  热度:37.5℃

本文介绍了有哪些JavaScript对象到对象映射库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在进行一个大型的JavaScript项目,我正在努力将传入的JSON数据(从后端)映射到我自己的JavaScript对象。

我使用的是Knokout JavaScript MVVM框架,虽然它包含一个mapping plugin,但它不允许我实际重新映射属性。我之所以想做到这一点,是因为传入的JSON数据太细粒度了,我想‘扁平化’我的JS对象。下面是一个示例。

正在导入数据。

Object : {
    Description: {
        Id : 1,
        Title : 'ProductX'
    },
    Price : {
        Last : 12,
        Currency : 3
    }
}

我想将其重新映射/展平为:

var mappedObject = {
    id : 1,
    title: 'ProductX',
    price : 12,
    currency : 3
}

因此我想提供一个映射配置,详细说明哪些传入属性应映射到哪些传出属性。与正在配置的Dozer非常相似。

我的问题是:是否有能够实现我想要实现的功能的库,或者这是否需要我构建自己的库?

推荐答案

实际上,Knokoutjs映射插件允许您这样做:

ko.mapping.fromJS调用中,您可以提供一个映射对象,该对象将用于映射包含属性…

var mapper = {
    create: function(options){
        return { name: ko.observable(options.data.name) };
    }
};

这意味着将此映射器与映射插件一起使用时,每个对象都将被展平为仅包含其名称作为可观察对象的对象。

您可以这样使用它:

var viewModel = ko.mapping.fromJS({id: 1, name: "a", desc: "b"}, mapper);

在这种情况下,viewModel将只有一个属性名称。

您可以在官方文档here中阅读有关此功能的更多信息。

这篇关于有哪些JavaScript对象到对象映射库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP