我有一个通过REST WebService传递的JSON数据:
"dimension": {
"@type": "com.example.multi.MultiDimension",
"listId": "tempListId1",
"key": "PERN",
"displayName": "Personal"
}现在,MultiDimension是一个Singleton类,即有一个私有构造函数。因此,Jackson无法找到公共构造函数,并给出了解析错误。
No suitable constructor found for type [simple type, class com.example.multi.MultiDimension]: can not instantiate from JSON object (need to add/enable type information?)\n at [Source: org.apache.cxf.transport.http.AbstractHTTPDestination$1@404e8aba; line: 8, column: 9]然后,我在类中添加了一个公共构造函数,正如预期的那样,它起作用了。
我担心的是,在Singleton类中,我打开了它,它们是否还有一个Singleton类,而Jackson可以从类中映射指定方法名(即getInstance() )的类
发布于 2017-03-24 06:39:41
您可以使用@jsonCreator,参数可以这样传递。
@JsonCreator
public static MultiDimension getInstance(@JsonProperty("key") String key) {...}https://stackoverflow.com/questions/36619354
复制相似问题