问题列表 - 第12580页

使用Jackson ObjectMapper将子类名称序列化为JSON,而不是超类

在下面将对象序列化为JSON的Jackson/Java代码中,我得到了这个:

{"animal":{"x":"x"}}
Run Code Online (Sandbox Code Playgroud)

但是,我真正想要得到的是:

{"dog":{"x":"x"}}
Run Code Online (Sandbox Code Playgroud)

我可以对AnimalContainer做些什么,以便获得对象的运行时类型("dog","cat"),而不是"animal")? (编辑: .我知道地图名称来源于getter-和setter-方法名),我能想到的这样做是内AnimalContainer有每种动物的属性,唯一的方法,有getter和setter方法为所有这些,并强制一次只评估一个.但这违背了拥有动物超类的目的而且似乎错了.在我的真实代码中,我实际上有十几个子类,而不仅仅是"狗"和"猫".有没有更好的方法来做到这一点(也许以某种方式使用注释)?我也需要一个反序列化的解决方案.

public class Test
{
   public static void main(String[] args) throws Exception
   {
      AnimalContainer animalContainer = new AnimalContainer();
      animalContainer.setAnimal(new Dog());

      StringWriter sw = new StringWriter();   // serialize
      ObjectMapper mapper = new ObjectMapper(); 
      MappingJsonFactory jsonFactory = new MappingJsonFactory();
      JsonGenerator jsonGenerator = jsonFactory.createJsonGenerator(sw);
      mapper.writeValue(jsonGenerator, animalContainer);
      sw.close();
      System.out.println(sw.getBuffer().toString());
   }
   public static class AnimalContainer
   {
      private Animal animal;
      public Animal getAnimal() {return animal;}
      public void setAnimal(Animal animal) {this.animal = animal;}
   }
   public abstract static class Animal …
Run Code Online (Sandbox Code Playgroud)

java serialization json jackson

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

如何在Tomcat中为单个Web应用程序设置时区?

在Tomcat中为单个Web应用程序设置时区的最佳方法是什么?我已经看到了更改Tomcat的命令行参数或环境变量的选项,但是有没有办法在WAR文件中设置它自包含而不依赖于任何Tomcat配置?

编辑:要重新强调,我正在寻找一个可以包含在WAR文件中的解决方案,而不依赖于Tomcat配置.换句话说,一个Web应用程序是否可以配置为具有与在同一Tomcat实例中运行的其他应用程序不同的时区?

java configuration timezone tomcat

15
推荐指数
3
解决办法
4万
查看次数

有没有一种简单的方法可以在Cocoa的NSCell中组合文本和图标?

我正在尝试基于NSOutlineView创建一个非常简单的选择列表小部件.但是,我很难弄清楚如何在它旁边显示一个图标和一个标签,这实际上是那种小部件的所有主流实现中的预期行为(iTunes,mail,Finder ,. ..).

到目前为止,我只是绑定两个单独的单元格,但是当我扩展树时,图标单元格变大,图标及其附带标签之间出现间隙.我知道我可以通过扩展NSCell并提供一个自定义类来克服这个问题,但是正如我想要实现的那样真的是标准的东西,我不能接受它,因为没有更简单的解决方案.

xcode cocoa interface-builder nsoutlineview

2
推荐指数
1
解决办法
452
查看次数

谁能识别这种图像格式?

我有一个数据库签名的格式,一个不合作的供应商一直在为我们的客户使用.我们正在取代他们的系统.

签名开始:

0A000500010002000100020001000100010001000100010001000100D100010001004F0001000100
01000100010001000100010001000100010001000100010001000100FF00FF00FF00010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
010001000100010002001C0001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100010001000100010001000100010001000100010001000100
01000100010001000100010001000100DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00
DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00
C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000
C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00
DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00
C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000
C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00DA00FF00C100C000C100FF00
DA00FF00C100C000C100FF00DA00FF00C100C000C100...
Run Code Online (Sandbox Code Playgroud)

继续使用更多的图像数据,并以0100的长序列结束.

有关文件格式的任何想法?

谢谢.

file-format image

3
推荐指数
1
解决办法
1313
查看次数

如何显示Winforms ListView控件的标题区域的工具提示?

我可以设置ToolTipListView控件的属性,但这是整个控件的属性.

我可以为Details View标题区域提供工具提示吗?

listview header tooltip winforms

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

C#:数字的通用接口

我试图执行一些独立于数字类型的通用数字操作.但是,我知道无法使用泛型来做到这一点.第一个想法是使用where语句过滤传入的类型,但所有数字类型都是关闭的,因此对于通用过滤器无效.此外,泛型不允许标准的数字运算(加法,移位等),因此我能想出的唯一解决方案是非通用地重写每个方法.还有其他想法吗?

作为参考,以下是我最初尝试的代码:

    private const int BYTE_SIZE = 8;

    private const int UINT16_SIZE = 16;

    private const int UINT32_SIZE = 32;

    private const int UINT64_SIZE = 64;

    public static byte[] ToBytes(UInt16[] pnaValues)
    {
        return ToSmaller<byte, UInt16>(pnaValues, BYTE_SIZE, UINT16_SIZE);
    }

    public static byte[] ToBytes(UInt32[] pnaValues)
    {
        return ToSmaller<byte, UInt32>(pnaValues, BYTE_SIZE, UINT32_SIZE);
    }

    ....

    public static UInt16[] ToUInt16s(byte[] pnaValues)
    {
        return ToLarger<UInt16, byte>(pnaValues, UINT16_SIZE, BYTE_SIZE);
    }

    public static UInt16[] ToUInt16s(UInt32[] pnaValues)
    {
        return ToSmaller<UInt16, UInt32>(pnaValues, UINT16_SIZE, UINT32_SIZE);
    }

    ...

    public static UInt64[] ToUInt64s(UInt32[] …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

使用ASP.net MVC的后退按钮功能

我有一个要求,需要我将用户重定向到他浏览历史记录的上一页.我正在使用ASP.net MVC 1.0.我不想用javascript来实现这一点.有什么指针吗?

asp.net-mvc

4
推荐指数
2
解决办法
9704
查看次数

在Management Studio中创建CHANGE脚本?

我想知道是否有办法自动附加到脚本文件我对列,表,关系等所做的所有更改...

问题是我在TEST数据库上做了很多不同的更改,我的想法是在将测试数据库移动到生产时应用此更改脚本...因此保留生产数据但应用所有模式和对象更改.

是否有捷径可寻?它还可以迁移数据库图表更改吗?

我已经看到了每次进行更改时如何创建更改脚本,但这意味着我必须复制并粘贴到主文件中.其实很简单!

我只是想知道我是否遗漏了什么?

sql sql-server ssms sql-server-2008

3
推荐指数
1
解决办法
3284
查看次数

CoreData:检查Null

我有一个CoreData实体(waypoint)与另一个实体(轨道)的外键.设置外键或未设置外键时,此if语句正常工作:

if ([wp track]) {
  thirdLabel.text = [NSString stringWithFormat:@"Part of Track: %@", [[wp track] title]];
}   
Run Code Online (Sandbox Code Playgroud)

但是,如果已删除航点被键入的轨道,则[wp track]仍会计算为true,并且在设置标签文本时程序崩溃.

那么,我如何在CoreData中正确检查这个"已被删除"的空值?

iphone cocoa cocoa-touch core-data objective-c

0
推荐指数
1
解决办法
1826
查看次数

根据python对象的属性生成python对象的唯一ID

有没有办法在python中为对象生成一个类似哈希的ID,它只基于对象的属性值?例如,

class test:
    def __init__(self, name):
        self.name = name

obj1 = test('a')
obj2 = test('a')

hash1 = magicHash(obj1)
hash2 = magicHash(obj2)
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是hash1 == hash2.python中是否存在类似的内容?我知道我可以测试obj1.name == obj2.name,但我正在寻找一些我可以在任何对象上使用的通用.

python attributes object

9
推荐指数
1
解决办法
4071
查看次数