标签: object-object-mapping

杰克逊 - 用根对象包装对象列表

我的Controller返回一个MyObj对象列表(使用@ResponseBody)

public MyObj 
{
   int a;
   int b;
}
Run Code Online (Sandbox Code Playgroud)

返回JSON如下所示:

[{"a":1,"b":2},{"a":2,"b":2}]
Run Code Online (Sandbox Code Playgroud)

我想包装这个JSON,所以它将返回如下内容:

{ "data": [{"a":1,"b":2},{"a":2,"b":2}]}
Run Code Online (Sandbox Code Playgroud)

从我读到的我需要启用SerializationConfig.Feature.WRAP_ROOT_VALUE或(?)在我的控制器上使用@JsonRootName("data").

还尝试了@XmlRootElement,似乎没什么用.知道用根名称包装对象列表的正确方法是什么?

java jackson object-object-mapping mongo-jackson-mapper

6
推荐指数
1
解决办法
4145
查看次数

Automapper - 将多对多关联映射到平面对象的最佳实践

我有两个实体:EmployeeTeam.

替代文字

我想要的是EmployeeForm具有NameTeam.

替代文字

如何使用AutoMapper实现此目的?

我目前的"解决方案"如下:

Mapper.CreateMap<Employee, EmployeeForm>()
                           .ForMember(dest => dest.TeamName, opt => opt.MapFrom(x => x.GetTeams().FirstOrDefault() != null ? string.Join(", ", x.GetTeams().Select(y=>y.Name)) : "n/a"));
Run Code Online (Sandbox Code Playgroud)

在我看来,这是可读的.

我想要的是一个通用方法,我可以传递一个实体,选择集合并说集合是否为null返回默认值,或者通过lambda表达式选择集合的属性.

c# many-to-many associations automapper object-object-mapping

5
推荐指数
1
解决办法
2139
查看次数

Restkit to-many关系附加到set而不是设置新集

我有一个与iOS Restkit相关的问题.我有来自远程服务器的父子关系数据,并NSManagedObject使用Restkit 将这些对象映射到对象.我目前遇到的问题是每次向服务器发出的请求都会消除"子"关系并将其替换为来自服务器的新数据.有没有办法避免这些并追加新的孩子?

例如:我有一个经典的Category - > Products关系.

{"categories": [
    {
        "cat_id": "1",
        "cat_title": "category 1",
        "cat_tag": 1,
        "product": [
            {
                "prod_id": "1",
                "prod_name": "product 1",
                "prod_tag": 1
            },
            {
                "prod_id": "2",
                "prod_name": "product 2",
                "prod_tag": 1
            }
        ]
    }
] }
Run Code Online (Sandbox Code Playgroud)

这工作正常,一切都与CoreData上的关系妥善保存.但是,如果我向服务器发出另一个请求并有一个新的响应:

{"categories": [
    {
        "cat_id": "1",
        "cat_title": "category 1",
        "cat_tag": 1,
        "product": [
            {
                "prod_id": "3",
                "prod_name": "product 3",
                "prod_tag": 1
            },
            {
                "prod_id": "4",
                "prod_name": "product 4",
                "prod_tag": 1
            }
        ]
    }
] }
Run Code Online (Sandbox Code Playgroud)

我将产品3和产品4替换数据库上的产品1和产品2.我确信我正确设置了所有的关系和主键.(这两个cat_id …

objective-c object-object-mapping ios restkit

5
推荐指数
1
解决办法
742
查看次数

Ajax将“ Map”对象传递给Spring MVC Controller

看来Spring MVC不知道如何将javascript“地图”映射到Java地图对象

在网络用户界面中,例如foo.jsp,

<script>
var myMap = {};
myMap["people"] = ["Alex","Bob","Charles","Dave"];
myMap["fruit"]  = ["Apple","Orange"];
$.ajax({
         type : "POST",
         url :  "/myURL",
         data : "myMap=" + myMap, // I tried "myMap="+JSON.stringify(myMap),  as well, it doesn't work neither
         success : function(response) {
             alert("Success! response =  " + response);
         },
         error : function(e) {
             alert("AJAX error");
         }
});
</script>
Run Code Online (Sandbox Code Playgroud)

在服务器端,我有一个数据模型类,仅用于从Web UI接收数据。

@Setter @Getter
class Parameters {
    private Map<String, List<String>> myMap; //this is the java class I want to map the string to
} …
Run Code Online (Sandbox Code Playgroud)

ajax json spring-mvc map object-object-mapping

5
推荐指数
1
解决办法
1万
查看次数

展平嵌套对象以将其属性映射到目标对象

我正在尝试使用 AutoMapper 来映射这样的类:

class FooDTO
{
    public int X { get; set; }
    public EmbeddedDTO Embedded { get; set; }
    public class EmbeddedDTO
    {
        public BarDTO Y { get; set; }
        public BazDTO Z { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

对于这样的类:

class Foo
{
    public int X { get; set; }
    public Bar Y { get; set; }
    public Baz Z { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

FooDTOHAL资源)

我知道我可以通过像这样显式创建地图来做到这一点:

Mapper.CreateMap<FooDTO, Foo>()
      .ForMember(f => f.Y, c => c.MapFrom(f …
Run Code Online (Sandbox Code Playgroud)

c# hal automapper object-object-mapping

5
推荐指数
1
解决办法
2960
查看次数

使用Jackson ObjectMapper将Json的一部分转换为HashMap

我试图以一种方式解组json文件,使得Json的少数属性被映射到我的模型类中存在的HashMap.属性的重置被映射到类的相应字段.请在下面找到Json:

{
         "_id":2,
         "Name":"xyz",
         "Age":20,
         "MEMO_TEXT":"yyy",
         "MEMO_LINK":"zzz",
         "MEMO_DOB":"",
         "MEMO_USERNAME":"linie orange",
         "MEMO_CATEGORY":2,
         "MEMO_UID":"B82071415B07495F9DD02C152E4805EC"
      }
Run Code Online (Sandbox Code Playgroud)

这里是我要映射这个Json的Model类:

public class Model{

    private int                              _id;
    private String                           name;
    private int                              age
    private HashMap<String, String> columns;

    //Getters and Setter methods
}
Run Code Online (Sandbox Code Playgroud)

所以在这里,我想要的是获得一个columns包含密钥的地图"MEMO_TEXT","MEMO_LINK","MEMO_DOB","MEMO_USERNAME","MEMO_CATEGORY","MEMO_UID"

Json中的其余属性映射到它们各自的字段.

是否可以使用杰克逊图书馆的ObjectMapper来做到这一点?

java json unmarshalling jackson object-object-mapping

5
推荐指数
1
解决办法
4326
查看次数

可以告诉 MapStruct 不执行自动映射吗?

我有一个相当大的 bean(约 100 个属性)映射到几个较小的对象中。可能会出现较小的目标对象具有与我的源 bean 中名称相同但语义不同的属性。

我希望MapStruct在这种特定情况下只映射我使用@Mapping注释明确告诉的内容,而不执行通常的自动映射。

MapStruct文档告诉我,仅此:

在生成的方法实现中,来自源类型 (...) 的所有可读属性都将被复制到目标类型 (...) 中的相应属性中。

我没有找到任何关闭此行为的配置选项。可以做到吗?

java object-object-mapping mapstruct

5
推荐指数
2
解决办法
3034
查看次数

ExpressMapper / EntityFramework-没有为此对象定义无参数构造函数

我正在尝试使用ExpressMapper将数据实体映射到模型。

如果我直接将实体映射到模型(它们都具有相同的属性),那么它工作正常。

但是,如果我将链接的实体映射到模型,则会出现错误

发生错误:System.MissingMethodException:没有为此对象定义无参数构造函数。

数据库结构:

在此处输入图片说明

ExpressMapper注册:

Mapper.Register<DiscountDaysOfWeek, DiscountDaysOfWeekModel>()
      .Member(dest => dest.DiscountDayId, src => src.DiscountDayId)
      .Member(dest => dest.DiscountDaysOfWeekId, src => src.DiscountDaysOfWeekId)
      .Member(dest => dest.DiscountId, src => src.DiscountId)
      .Member(dest => dest.Discountday, src => src.DiscountDay.Day);
Run Code Online (Sandbox Code Playgroud)

像这样调用:

var disDays = discs.SelectMany(x => x.DiscountDaysOfWeeks)
                   .Map<IQueryable<DiscountDaysOfWeek>, IQueryable<DiscountDaysOfWeekModel>>();
Run Code Online (Sandbox Code Playgroud)

在调用时获取错误消息。

DiscountDaysOfWeekModel:

public class DiscountDaysOfWeekModel
{
    public int DiscountDaysOfWeekId { get; set; }
    public int DiscountId { get; set; }
    public int DiscountDayId { get; set; }
    public string Discountday { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

DiscountDayOfWeek(由EF生成)

public partial class …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework object-object-mapping

5
推荐指数
2
解决办法
890
查看次数

.NET中的对象-对象映射有哪些不同的方法?

我需要在对象之间进行一些映射(例如PersonModel到PersonViewModel),并正在研究实现此目的的不同方法。具体来说,我正在使用实体框架,并尝试将生成的模型映射到视图模型。

但是,我还没有找到有关如何执行此操作的列表的文章或资源。到目前为止,我遇到了以下问题:

  • 隐式转换(我认为这是最基本的方法?因为您手动将属性从一个对象映射到另一个对象,这很简单但很乏味)
  • 扩展方法(尚未使用)
  • 反射(我做了一些修改,但仅管理非常基本的映射)
  • Automapper(非常受欢迎,但是我无法使其与EF一起正常工作)
  • Value Injecter(尚未与此一起工作)
  • Emit Mapper(尚未使用它,但可能无法使其与EF一起使用?)

您能否帮忙指出并详细说明现有的方法以及每种方法的利弊?例如,我看到有人提到Automapper与手动映射相比速度较慢?还是可能指出解决此问题的文章?

编辑:由于某些人可能会问我AutoMapper有什么问题,请参见:Automapper:如何将IList映射到EntityCollection

.net c# orm object-object-mapping

5
推荐指数
1
解决办法
2761
查看次数

系统设计和面向对象设计之间的区别

有人可以解释一下系统设计和面向对象设计之间的区别吗?

面向对象的设计涉及对象建模,并使用诸如抽象,封装,分解和概括之类的面向对象的概念。这两个设计都涉及建筑设计和概念设计。

是其他设计范式的子集之一吗?

architecture oop system-design object-oriented-analysis object-object-mapping

5
推荐指数
2
解决办法
3401
查看次数